我想将一个网站列表变成一些可怕的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一个班轮。我想象的是:
awk {x=1} {NR = gsub/^/x} {x=x+1}
答案 0 :(得分:3)
最好不要修改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();
答案 1 :(得分:1)
使用sed:
sed = input |
sed 'N;s!\(.*\)\n\(.*\)!public void goToWebsite\1() {driver = new FirefoxDriver();driver.get("\2");driver.quit();!'