特定の行の先頭に文字を挿入する

特定の行の先頭に文字を挿入する

ファイルがあるとしましょう。

% 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つは線の終わりを指します。ファイルに変更をそのまま書き込むには、次のオプションを使用します。^$
-ised

上記の代替方法よりも速い他の方法があります(ファイルが十分に大きい場合は違いがわかります)。

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

答え2

これは、(他の方法もありますが)を介して得ること sedができます。awk

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

関連情報