일반 텍스트 파일의 모든 줄에 해시를 추가하고 싶습니다. 터미널과 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 -i
POSIX 표준이 아니므로 순수 주의자 인 경우 다음을 사용하려고합니다 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
저장하고 닫습니다