同じテキストファイルの23行目の直前に移動したいテキストファイルに55行目があります。私はあなたが特定の数の行だけ上に行を移動できることを知っています 1 、 2 の冗長な方法の代わりに行を別の行に追加または追加することは可能ですテキストファイルを行の上または下に移動しますか?
Vim、sed、またはその他のコマンドラインツールを使用して回答を受け入れますが、簡潔であるほど良い
sed
コマンドi
は、行の前に行を挿入することを除いて、探しているものと同様の行の前にテキストを挿入します
スクリプト可能なエディターにより、これは非常に簡単です。
printf '%s\n' '55m22' 'wq' | ed -s input
これにより、2つのコマンドがed
に送信されます(input
という名前のファイルを編集します)。
55m22
-55行目を22行目の後に移動しますwq
-ファイルをディスクに保存して終了します。少し短い:
ex input <<<"55m22|wq"
vi
の方がed
よりも少し長いです:
vi input
55Gdd23GPZZ
55G
... 55行目に移動dd
... 1行削除23G
... 23行目に移動P
...削除された行を23行目の前に貼り付けますZZ
...ファイルに書き込んで終了