텍스트 파일의 각 줄 시작 부분에 공백을 5번 추가하세요.

텍스트 파일의 각 줄 시작 부분에 공백을 5번 추가하세요.

파일의 각 줄 시작 앞에 5번 공백을 추가하는 명령줄이나 bash 스크립트를 찾고 있습니다.

예를 들어:

abc

공백을 5번 추가한 후

      abc

답변1

GNU sed 사용:

sed -i -e 's/^/     /' <file>

각 줄의 시작 부분을 5개의 공백으로 대체합니다. 실행할 코드를 제공하여 -i파일을 수정하세요 . 대체를 수행하고 줄의 시작 부분을 일치시키라고 지시합니다 . 그런 다음 마지막 두 문자 사이의 부분이 시작 부분에서 일치하는 부분(이 경우 줄의 시작 부분)을 대체합니다.-esedssed^/

답변2

당신은 그것을 사용할 수 있습니다sed

sed 's_^_     _' tmpin > tmpout

또는awk

awk '{print "     " $0}' tmpin > tmpout

아니면 붙여넣기(감사합니다쿠엔람)

:| paste -d' ' - - - - - file

주의 깊은. 이것들은 중독성이 있을 수 있습니다. 많은 간단한 문제를 해결할 수 있지만 완전한 스크립트 언어로 업그레이드해야 할 때가 올 것입니다.

편집하다:Eric Renouf의 답변을 기반으로 Sed 스크립트가 단순화되었습니다.

답변3

다음과 같이 사용할 수 있는 표준 도구가 많이 있습니다 paste.

:| paste -d' ' - - - - - file

또는 더 짧음 awk:

awk '{$1="     "$1}1' file

또는 더 휴대성이 뛰어납니다 perl.

perl -pe '$_=" "x5 .$_' file

답변4

Ex 모드에서 Vim을 사용할 수 있습니다:

ex -sc '%s/^/     /|x' file
  1. %모든 행 선택

  2. s바꾸다

  3. x저장하고 닫습니다

관련 정보