파일이 있다고 가정해 보겠습니다.
% 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
다음으로 시작하는 경우 시작 부분을 해당 %
줄로 바꿉니다 %%
. 는 선의 시작 부분을 가리키는 앵커 포인트
입니다 . 그 중 하나는 선의 끝을 가리킵니다. 파일에 변경 사항을 그대로 쓰려면 다음 옵션을 사용하십시오.^
$
-i
sed.
위의 대체 방법보다 더 빠른 다른 방법이 있습니다(파일이 충분히 크면 차이점을 알 수 있습니다).
sed '/^%/ s/^/%/' infile
답변2
이는 및 (다른 방법도 있지만)을 sed
통해 얻을 수 있습니다.awk
- 사용
sed
:
sed -i 's/^%/%&/' <your_file>
- 사용
awk
:
awk '/^%/ { $0 = "%" $0 } 1' <your_file>