특정 줄의 시작 부분에 문자 삽입

특정 줄의 시작 부분에 문자 삽입

파일이 있다고 가정해 보겠습니다.

% This is first line
% This is second line

This is content

% This is the end

%이미 로 시작하는 각 줄의 시작 부분에 문자를 삽입하려면 어떻게 해야 합니까 %?

결과:

%% This is first line
%% This is second line

This is content

%% This is the end

답변1

그리고sed

sed 's/^%/%%/' infile

다음으로 시작하는 경우 시작 부분을 해당 %줄로 바꿉니다 %%. 는 선의 시작 부분을 가리키는 앵커 포인트
입니다 . 그 중 하나는 선의 끝을 가리킵니다. 파일에 변경 사항을 그대로 쓰려면 다음 옵션을 사용하십시오.^$
-ised.

위의 대체 방법보다 더 빠른 다른 방법이 있습니다(파일이 충분히 크면 차이점을 알 수 있습니다).

sed '/^%/ s/^/%/' infile

답변2

이는 및 (다른 방법도 있지만)을 sed통해 얻을 수 있습니다.awk

  1. 사용 sed:
    sed -i 's/^%/%&/' <your_file>
  2. 사용 awk:
    awk '/^%/ { $0 = "%" $0 } 1' <your_file>

관련 정보