2013-05-01 2 views
2

웹 사이트 목록을 끔찍한 Java 코드로 바꿔서 셀렌에서 실행할 수 있습니다. 나는 완전히 무능 해요, 나는 이런 식으로 그것을 할 고안했습니다보고각 변수에 변수 및 증분 변수 추가 NR

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(); 

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

:

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

한 자기 지식에 대한 ;-) – shellter

답변

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(); 
+0

음 ... 그 우아한입니다. 감사! –

1

:

sed = input | 
    sed 'N;s!\(.*\)\n\(.*\)!public void goToWebsite\1() {driver = new FirefoxDriver();driver.get("\2");driver.quit();!'