Sed または awk を使用して行の末尾に文字列を挿入します。

Sed または awk を使用して行の末尾に文字列を挿入します。

私は各行の終わりに別の突き刺しを入れようとしています。以下の方法は機能しますが、ファイルが非常に大きい場合は機能しません。 x=ファイルの #行です。データは$で終わります。

data=0
let x=0
while [ $data -lt 10 ]
do
data=$(($data+1))

x=$(($x+11))

sed -i ''"$x"'s/$/ '"$data"' /' ファイルが
完了しました。

私は何をしたいですか?
前:ファイル名

abc abc abc
abc abc abc
abc abc

その後:ファイル名
abc abc abc 1
abc abc abc 2
abc abc abc 3
など。

答え1

必要なのはこれだけです:

sed -i 's/$/ '"$data"'/' filename

正規表現は$行末と一致します。

変数の値を変更する必要はありませんecho

関連情報