awk - 为每个 NR 添加变量和增量变量

标签 awk

我想将网站列表转换成一些可怕的java代码,以便我可以在selenium中运行它。

  http://google.com
  http://facebook.com

进入

  public void goToWebsite1() {driver = new FirefoxDriver();driver.get("http://google.com");driver.quit();
  public void goToWebsite2() {driver = new FirefoxDriver();driver.get("http://facebook.com");driver.quit();

鉴于我完全无能,我设法这样做:

  sed 's/$/");driver.quit();/g' homepage2

加上

  sed 's/^/() {driver = new FirefoxDriver();driver.get("/g'

加上

  prepend and increment counter

加上

  sed 's/^/public void goToWebsite/g'

不幸的是,我不知道如何在每行上添加和增加一个计数器。我敢打赌有一个 awk oneliner。我想象的是这样的:

    awk {x=1} {NR = gsub/^/x} {x=x+1}

最佳答案

最好不要修改NR。这是快速方法:

awk '{ print "public void goToWebsite" NR "() {driver = new FirefoxDriver();driver.get(\"" $0 "\");driver.quit();" }' file

结果:

public void goToWebsite1() {driver = new FirefoxDriver();driver.get("http://google.com");driver.quit();
public void goToWebsite2() {driver = new FirefoxDriver();driver.get("http://facebook.com");driver.quit();

关于awk - 为每个 NR 添加变量和增量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16311401/

相关文章:

Linux - awk 选择

linux - 在 awk 中重置标志

bash - Grep 该字符串的第一行并将其保存在变量中以 wget 吗?

linux - awk 不分配字符串或子字符串

awk - 如何在 Awk 中使用单个正则表达式提取多个字符串

perl - 拆分字符串头

linux - 根据条件替换值并使用 AWK 比较多个文件中的值

linux - awk 在第 1 列中打印大于零的行

unix - AWK。提取根和后缀

linux - 如何使用 awk、perl 或 sed 从 LiveHTTPHeaders 输出中删除响应?