2012-05-10 6 views
0

에서 정확한 문자열을 교체 나는 다음과 같다 목록이 : 이제bash는

server 
server.apple.com 
server.apple.com 
server 
server.apple.com 

을, 난 그냥 "서버"라는 줄에 ".apple.com"를 추가하고 싶습니다. 당신은 사용할 수

sed -e 's/\bserver\b/server.apple.com/g' 

답변

2

: 나는 함께 나오지도 해봤

sed 's/^server$/server.apple.com/g' 

^ 라인의 시작을 의미 $ 라인의 끝을 의미한다.

-e 인수는 기본 정규식이므로이 인수가 필요하지 않습니다.

sed 's/^server$/server.apple.com/Ig' 

당신이없는 경우 : 당신이 I 기능을 사용할 수 있습니다 (또한 SERVERSErvEr 일치) server에 대한 문자를 구분 검색을 구분하려면

그러나 그것은 sed의 다양한 버전을 지원하지 않습니다 당신이 사용할 수있는 I 지원하는 sed 버전 :

sed 's/^[Ss][Ee][Rr][Vv][Ee][Rr]$/server.apple.com/g' 
+0

오, 너무 늦었습니다. btw'-e'는 필요하지 않습니다. 그렇죠? – tsusanka

+0

@aGr 아니요 – Tyilo

+0

고마워요! 그래서 당신이 그것을 볼 때 분명 : –

2
sed 's/^server$/server.apple.com/g' inputfile 

^은 줄의 시작을 의미하고 $ 끝을 의미하므로 추가 텍스트가없는 줄만 찾습니다.

+0

'문장'이 그것을 설명하는 가장 좋은 단어가 아닐 수도 있습니다. – ArjunShankar

+0

너무 피곤 .. thx – tsusanka