ファイルの最後から2行目の末尾に文字列を追加します。

ファイルの最後から2行目の末尾に文字列を追加します。

最後の行の前の行にテキストを追加/接続したいです。したがって、私の元のファイルが次のような場合:

1 sometext
2 sometext
3 sometext
4 sometext
5 sometext

私の新しいファイルは

1 sometext
2 sometext
3 sometext
4 sometext newtext
5 sometext

挿入する方法を既に知っています。改行文字しかし、これは少し異なる問題です。新しい行を挿入するのではなく、テキストをリンクしたいからです。

答え1

ファイルを 1 行ずつ反転し、2 行目にテキストを追加し、ファイルを再び反転します。

tac file | sed '2s/$/ newtext/' | tac

答え2

精力次のアドレスを理解してください$-1

ex -sc '$-1s/$/ newtext/' +wq file

exそれは同じですvim -e

答え3

$ awk 'NR>1{printf "%s%s", ors, prev; ors=ORS} {prev=$0} END{print OFS "newtext" ORS prev}' file
1 sometext
2 sometext
3 sometext
4 sometext newtext
5 sometext

答え4

行を数えて算術的に住所を取得します。

sed "$(wc -l infile | awk '{print $1-1}')s/$/ newtext/" infile

関連情報