に切り替えることは可能ですか?例えばbashのラインプレースメントを
:
Iは、テキストファイルにbashコマンドの一部として両方の出力であるライン
2. diskusage1: 27.0572519084
3. partition1:
を有します。
これらの行の順序を逆にする方法はありますか?彼らが見えるように場所を切り替えるようにするには:コメントに引き続き
3. partition1:
2. diskusage1: 27.0572519084
おかげ
に切り替えることは可能ですか?例えばbashのラインプレースメントを
:
Iは、テキストファイルにbashコマンドの一部として両方の出力であるライン
2. diskusage1: 27.0572519084
3. partition1:
を有します。
これらの行の順序を逆にする方法はありますか?彼らが見えるように場所を切り替えるようにするには:コメントに引き続き
3. partition1:
2. diskusage1: 27.0572519084
おかげ
、はい、あなたは簡単に使用して出力の行を逆にするか、またはsed
(逆の順序でcat
)tac
。どちらの場合も、実行しているコマンドの出力をtac
またはsed
にパイプするだけです。あなたは、ファイルへの逆の内容を記述する必要がある場合は、単に最後にリダイレクトを追加します(例えば> file.txt
)
tac
を使用して、それはそれは次のようになりsed
を使用して、単純に
some_command | tac > file.txt
です:
some_command | sed -n '1!G;h;$p' > file.txt
例
あなたの出力:
$ printf "2. diskusage1: 27.0572519084\n3. partition1:\n"
2. diskusage1: 27.0572519084
3. partition1:
反転出力
$ printf "2. diskusage1: 27.0572519084\n3. partition1:\n" | tac
3. partition1:
2. diskusage1: 27.0572519084
または
$ printf "2. diskusage1: 27.0572519084\n3. partition1:\n" | sed -n '1!G;h;$p'
3. partition1:
2. diskusage1: 27.0572519084
はそれらを試してみて、あなたは、さらに質問がある場合は私に知らせてください。尽くす
2番目と3番目は線だけではないように見えます。 – hedgar2017
はい、合意した、良い点ですが、私は質問にあるものだけに進むことができます。もしそれが1から50であれば、カウンタと 'read 'または' readarray'を 'tac'で、または' sed'での除外範囲や 'head'と' tail'の組み合わせで ' :) '。 –
:
command | sed '2{h;d};3{p;x}' > file.txt
はい、パイプtac' 'への出力を生成している何の出力(すなわち'逆にcat''S)例えば'some_command |タック。それをファイルと逆に書く必要があるなら、 'some_command | tac> file.txt'例: 'printf '2. diskusage1:27.0572519084 \ n3。パーティション1:\ n" | tac' –
'sed'を使う必要があるなら、' some_command | sed -n '1!G; h; $ p " –
任意の行にスワップするには、[この質問]を見てください(https://stackoverflow.com/questions/4331851/swapping-two-lines) –