파일의 특정 줄에 후행 단어 추가

파일의 특정 줄에 후행 단어 추가

예를 들어 파일에 이와 같은 줄이 많이 포함되어 있습니다.

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 명령 및 프로그램을 살펴보세요.

  1. sed -i.backup위치 모드 - 입력 파일을 편집하고 (선택적으로) 접미사( .backup)가 있는 원본 파일을 백업합니다.
  2. /^CCC/찾을 정규식 - ^CCC로 시작되는 문자열( )입니다.
  3. s/$/ smile/문자열( s/$/)의 끝을 검색하여 스마일( )로 바꿉니다 smile/.

답변2

노력하다:

sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out

그 자리에서 편집할 수도 있습니다.

sed -i -E 's/^(CCC.+)/\1 smile/' data.dat

관련 정보