일반 텍스트 파일의 모든 줄에 해시를 추가하고 싶습니다. 터미널과 GUI를 모두 사용하는 것이 좋습니다. 그냥 끝내면됩니다.
답변
당신은 그렇게 할 수 있습니다 sed:
sed -i.bak 's/^/##/' file
이것은 줄의 시작 ( ^)을로 바꿉니다 ##.
-i.bak스위치를 사용하면 sed파일을 제자리에서 편집하지만 확장명이있는 백업 사본을 만듭니다 .bak.
답변
다음은 perl을 사용하여이 문제에 대한 해결책입니다.
perl -e 'while (<>) {print "##$_"}' < infile > outfile
답변
우리가있는 동안 :
gawk -i inplace '{print "##"$0}' infile
이것은 GNU awk 4.1.0 이상을위한 (비교적으로 새로운) 인플레 이스 편집 플러그인 을 사용합니다 .
답변
bash방법은 다음과 같습니다 .
while read -r; do printf '##%s\n' "$REPLY"; done < infile > outfile
( 에서 bash쉘 실행 read -r다른 인수하는 것처럼 작동합니다 IFS= read -r REPLY.)
이것은 beav_35의 perl 솔루션 에서 스타일 적으로 영감을 얻었습니다. 거대한 파일에 대해서는 훨씬 빠릅니다 perl.
답변
sed -iPOSIX 표준이 아니므로 순수 주의자 인 경우 다음을 사용하려고합니다 ed.
printf ",s/^/##/\nw\nq" | ed -s file.txt
답변
perl다른 곳에서 제시하는 것보다 쉬운 방법은 다음과 같습니다 .
perl -pi -e 'print "##"' YOURFILEHERE
이것은 (ab)에 perl -p주어진 명령을 실행 한 후 줄 을 인쇄 한다는 사실을 사용합니다 -e.
답변
Ex 모드에서 Vim을 사용할 수 있습니다 :
ex -sc '%s/^/##/|x' file
-
%모든 줄을 선택하십시오 -
s대용품 -
x저장하고 닫습니다