ファイルの行順の変更

ファイルの行順の変更

特定のパターンの行の順序を変更しようとしています。複数行(99行など)を含むファイルを処理します。 3行ごとに2行目を3行目に、3行目を2行目にしたいと思います。

はい。

1-入力:

gi_1234
My cat is blue.
I have a cat.
gi_5678
My dog is orange.
I also have a dog.
...

2-出力:

gi_1234
I have a cat.
My cat is blue.
gi_5678
I also have a dog.
My dog is orange.
...

ベストアンサー1

$ seq 9 | sed -n 'p;n;h;n;G;p'
1
3
2
4
6
5
7
9
8

つまり、p現在の行を印刷し、追加の行nを取得し、古いh行を取得し、追加の行を取得nし、G残りの行を取得し(パターンスペースに追加)p、3行目と2行目を置き換えて、パターンスペースの2行を印刷します。

おすすめ記事