假设我有文件:
% 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
and获得awk
(尽管还有其他方法)
- 使用
sed
:
sed -i 's/^%/%&/' <your_file>
- 使用
awk
:
awk '/^%/ { $0 = "%" $0 } 1' <your_file>