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