![特定の行の先頭に文字を挿入する](https://linux33.com/image/133736/%E7%89%B9%E5%AE%9A%E3%81%AE%E8%A1%8C%E3%81%AE%E5%85%88%E9%A0%AD%E3%81%AB%E6%96%87%E5%AD%97%E3%82%92%E6%8C%BF%E5%85%A5%E3%81%99%E3%82%8B.png)
ファイルがあるとしましょう。
% 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
次に始める場合は、先頭を対応する行に%
置き換えます%%
。は線の先頭を指すアンカーポイント
です。そのうちの1つは線の終わりを指します。ファイルに変更をそのまま書き込むには、次のオプションを使用します。^
$
-i
sed。
上記の代替方法よりも速い他の方法があります(ファイルが十分に大きい場合は違いがわかります)。
sed '/^%/ s/^/%/' infile
答え2
これは、(他の方法もありますが)を介して得ること sed
ができます。awk
- 使用
sed
:
sed -i 's/^%/%&/' <your_file>
- 使用
awk
:
awk '/^%/ { $0 = "%" $0 } 1' <your_file>