Sed 또는 awk를 사용하여 줄 끝에 문자열을 넣습니다.

Sed 또는 awk를 사용하여 줄 끝에 문자열을 넣습니다.

나는 각 행의 끝에 다른 찌르기를 넣으려고 노력하고 있습니다. 아래 방법은 작동하지만 파일이 매우 큰 경우에는 작동하지 않습니다. x=파일의 #줄입니다. 데이터는 $로 끝납니다.

data=0
let x=0
while [ $data -lt 10 ]
do
data=$(($data+1))

x=$(($x+11))

sed -i ''"$x"'s/$/ '"$data"' /' 파일
완료.

나는 무엇을 하려는 걸까?
이전: 파일 이름

abc abc abc
abc abc abc
abc abc

그 후: 파일 이름
abc abc abc 1
abc abc abc 2
abc abc abc 3
등등...

답변1

필요한 것은 이것뿐입니다:

sed -i 's/$/ '"$data"'/' filename

정규식은 $줄 끝과 일치합니다.

변수의 값을 바꾸는 데는 필요하지 않습니다 echo.

관련 정보