2011-02-11 3 views
1

줄 끝 부분에 0을 추가하려고합니다.sed 줄 끝 바꾸기

s/\nexpr1/ 0 0 0 0 0 0\rexpr1/ 

하고 잘 작동 : 라인이 식별 방법은 그것이 내가 할 것은 빔에서 "expr1을"

로 시작하는 라인 뒤에 있다는 것입니다. 나는 우분투에서 \ n이 일반적으로 줄을 끝내기 위해 사용되는 것을 알고 있지만, 그렇게 할 때마다^@ 심볼을 얻습니다. 그래서 \ r은 저에게 잘 작동합니다. 나는 이것을 sed와 함께 사용할 것이라고 생각했지만 실제로는 효과가 없었다. 여기에 내가 보통 쓰는 것이있다 :

sed "s/\nexpr1/ 0 0 0 0 0 0\rexpr1/" infile > outfile 

답변

3

줄 끝 표식은 $이다. 시도해보십시오.

s/$/ 0 0 0 0 0 0/ 

환경에 따라 $를 벗어날 필요가 있습니다. 다른 필드를 생성

0
awk '{$0=$0" 0 0 0 0 0 "}1' file > tmp && mv tmp file 

ruby -i.bak -ne '$_=$_.chomp!+" 0 0 0 0 0\n";print' file 
0
awk '$(NF + 1) = " 0 0 0 0 0 0"' infile > outfile 
+0

는 FS 변수에 영향을 미친다. 예를 들어 탭을 구분 기호로 사용하는 파일은 공백이됩니다. 이 현상을 해결할 수있는 방법은 파일에 표시되지 않는 필드 구분 기호를 지정하는 것입니다 (예 : -F "@ # @ #" – kurumi