1

最後の行の先頭に文字列を挿入する方法は?

複数行のテキストファイルにタイムスタンプを追加したい

var1 = `date`

LINE1
LINE2
LINE3
...
(INSERT var1 here) LASTLINE

sed 's/^/test line /g' textfileすべての行の先頭に文字を挿入しますが、最終行のみを具体的に変更するにはどうすればよいですか?

ありがとう

今後: sed '$s/^/sample text /' textfile動作しますが、通常の文字列を挿入する場合のみです。私が試したら

var1 = "sample text"

置換を使用すると、ここに私が遭遇する問題があります

  1. sed で一重引用符を使用しても変数は展開されないため、sed '$s/^/$var1/' textfile は最後の行の先頭に文字列 $var1 を挿入します。

  2. 変数置換を有効にするために、二重引用符を使用してみました。正確な行番号を指定すると機能します。何かのようなもの:

    sed "5s/^/$var1/" テキストファイル

しかし、試してみるとsed "$s/^/$var1" text file、エラーが返されます:

sed: -e 式 #1、文字 5: コマンドの後の余分な文字

誰か助けてくれませんか?

4

4 に答える 4

5

このような:

sed '$s/^/test line /' textfile

$は最終行を示します。同様に、行番号を代わりに挿入することで、特定の行に挿入できます$

于 2013-11-07T05:01:06.697 に答える
0

このコマンドはあなたのために働くでしょう:

sed -i "5s/^/$var1 /" text file
于 2013-11-08T14:18:51.240 に答える