sedを使用して特定の行番号から始まるファイルを読み取り、値を変更して新しいファイルに出力する方法

sedを使用して特定の行番号から始まるファイルを読み取り、値を変更して新しいファイルに出力する方法

ファイルがありますが、426行で始まり2372行で終わるファイルを読みたいです。この行から, ,新しい行文字に置き換えて新しいファイルに出力したいと思います。

私は以下を試しました:

sed -n '426,2372p' input.txt > $tmpSrcFile

セクションをインポートして出力できますが、代替項目を追加すると機能させることはできません。

sed -n '426,2372ps/:, ,:/\n/g' input.txt > $tmpSrcFile 

ベストアンサー1

特定の入力ファイルの場合:

1,
2,
3,
4,
5,

このsed呼び出しは、次の行の範囲内でのみ交換および印刷されるようです。

$ sed -n '3,4{s/,/^/gp}' input; printf "END\n"
3^
4^
END

交換が改行であっても:

$ sed -n '3,4{s/,/\n/gp}' input; printf "END\n"
3

4

END

おすすめ記事