2013-07-03 4 views
1

나는 명령있지만 일치하는 패턴이

sed -i 's/First/Second/' testFile 

"둘째"로 "첫 번째"문자열을 대체 할 대체 알고있다.

하지만 아래와 같이 입력이 주어

Infile.txt

우선 "이 라인을 삭제한다."

나는 출력은 다음과 같이되고 싶어요 ". 새로운 문자열을 추가 할"

먼저

Outfile.txt

즉 "First"를 대체하면 안됩니다.

원하는 출력을 얻으려면 어떻게해야합니까? 대체 명령 할 수 있습니다 specify the address

답변

2

:

sed -i '/First/s/This line is to be deleted/New string to be added/' testFile 

편집 : 변수 패턴 문자열 :

sed -i 's/First \(.*\)/First "New string to be added"/' testFile 
+0

문자열은 "이 라인이 삭제 될"내 응용 프로그램에 따라 달라질 수 있습니다. – Mann

+0

@Mann 그래서 'First'이후의 모든 것을 바꿔주고 싶습니까? –

+0

일치 패턴으로 사용할 수 없습니다. 필자의 경우, 패턴으로 "First"를 사용하여 – Mann

관련 문제