.txt 파일의 각 줄에 접두사 및 접미사 추가

.txt 파일의 각 줄에 접두사 및 접미사 추가

.txt 파일의 각 줄에 텍스트를 추가하려고 합니다.

앞에 추가하고 싶은 내용은 다음과 같습니다.I am a

다음을 추가하고 싶습니다. 128... [}

각 라인에.

a.txt 내부:

fruit, like
bike, like
dino, like

다음 명령을 실행한 후:

$ cat a.txt|sed 'I am a ',' 128... [}'

내가 원하는 대로 작동하지 않습니다. 나는 그것이 다음과 같이 말하기를 정말로 바랍니다:

I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

답변1

단순한sed방법:

sed 's/^/I am a /; s/$/ 128... [}/' file.txt
  • ^- 대표하다문자열/줄의 시작
  • $- 대표하다문자열/줄의 끝

산출:

I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

아니면Awk다음을 수행할 수 있습니다.

awk '{ print "I am a", $0, "128... [}" }' file.txt

답변2

sed 's/.*/PREFIX&SUFFIX/' infile

특수 문자가 포함 PREFIX되어 있지 않다고 가정합니다 .SUFFIX


\&/(백슬래시, 앰퍼샌드 및 구분 기호)는 대체 항목의 오른쪽에 있을 때 특별합니다 s. 이러한 문자의 특별한 의미는 문자를 이스케이프하여(앞에 백슬래시를 추가하여) 억제할 수 있습니다. 예를 들어 실행 전후에 하나를 A//BC추가하면 다음과 같습니다.XY\Z&&

sed 's/.*/A\/\/BC&XY\\Z\&\&/' infile

답변3

진주:

$ perl -lne 'print "I am a $_ 128... [}"' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

더 많은 펄:

$ perl -pe 's/^/I am a /; s/$/ 128... [}/' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

그리고 더 많은 Perl 콘텐츠:

$ perl -lpe '$_="I am a $_ 128... [}"' file 
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}

이들 모두에 대해 다음 -i을 사용하여 원본 파일을 변경할 수 있습니다.

$ perl -i -lne 'print "I am a $_ 128... [}"' file 
$ perl -i -pe 's/^/I am a /; s/$/ 128... [}/' file 
$ perl -i -lpe '$_="I am a $_ 128... [}"' file 

답변4

sed의 대안

sed -e 's/^\(.*\)$/I am a \1 128 [{/

.*줄의 시작과 끝 ^사이의 모든 내용을 검색하여 $그룹에 넣습니다 \( \). 그런 다음 접두사, (첫 번째) 그룹 \1및 접미사 로 바꿉니다 .

관련 정보