예를 들어 파일에 이와 같은 줄이 많이 포함되어 있습니다.
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY
...등등
CCC로 시작하는 모든 줄 끝에 특정 단어를 추가하고 싶습니다.
예를 들어. 'smile'이라는 단어를 추가하고 싶으므로 결과는 다음과 같습니다.
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm smile
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY smile
어떻게 그렇게 할 수 있는지 말해줄 수 있나요?
답변1
sed -i.backup '/^CCC/s/$/ smile/' data.txt
이 sed 명령 및 프로그램을 살펴보세요.
sed -i.backup
위치 모드 - 입력 파일을 편집하고 (선택적으로) 접미사(.backup
)가 있는 원본 파일을 백업합니다./^CCC/
찾을 정규식 -^
CCC로 시작되는 문자열( )입니다.s/$/ smile/
문자열(s/$/
)의 끝을 검색하여 스마일( )로 바꿉니다smile/
.
답변2
노력하다:
sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out
그 자리에서 편집할 수도 있습니다.
sed -i -E 's/^(CCC.+)/\1 smile/' data.dat