2011-08-13 5 views
1

SED를 사용하여 수정하려는 R 통계 패키지에 대한 스크립트가 있습니다. 내가 해봤SED를 사용하여 텍스트 문서를 검색하고 바꾸려면 어떻게해야합니까?

foo=[something unimportant] 
print('foo') 
summary(foo) 

: 나는 그것을 같이하고 싶습니다

foo = [something unimportant] 
summary(foo) 

:

sed 's/summary\((.+)\)/print\(\'\1\'\)\nsummary\(\1\)/' <infile.txt >outfile.txt 

을하지만이 작동하지 않을 것 같다 지금, 그것은 다음과 같습니다. 나는 정규식 - fu가 부족한 느낌이 들었다. 어떤 제안?

답변

2

나는 당신이 sed "s/summary(\(.*\))/print('\1')\n\0/" ...을 찾고 있다고 생각합니다. Sed는 posix regex를 사용하는데, 여기서 (와)는 특수 문자가 아닙니다. 대신 그룹은 \(\)으로 구분됩니다.

입력 :

foo = [something unimportant] 
summary(foo) 

출력 :

foo = [something unimportant] 
print('foo') 
summary(foo) 
+0

아름다운. 완벽하게 일했습니다, 고마워요! – Chris

관련 문제