次のように、すべての偶数行をすべての奇数行の先頭に移動する方法を見つけようとします。
今後:
AAA
BBB
CCC
DDD
後ろに:
BBBAAA
DDDCCC
複数のファイルを同時に実行できればとても良いでしょう。 catを使用してすべてのファイルを結合すると、ファイルが大きすぎて処理できなくなるためです。 bashファイルに追加できるようにテキスト交換を実行する次のコマンドのようになります。
find /directory/. -type f -exec sed -i 's/oldtext/newtext/g' {} \;
検索しましたが、適切なものが見つかりませんでした。
簡単にするには、すべての奇数行の先頭に「string1」を追加し、偶数行の先頭に「string2」を追加します。
before:
string1AAA
string2BBB
string1CCC
string2DDD
after:
string2BBBstring1AAA
string2DDDstring1CCC
とても感謝しています。
ベストアンサー1
接頭辞の付いたアイデアを忘れてください。あなたが探しているスクリプトは
sed 'N;s/\(.*\)\n\(.*\)/\2\1/'
つまり、 を使用して次の行を読み、順序を変更してN
改行を削除します。
find
作成した内容と組み合わせることができます。まず、オプションなしで試してみて、-i
これが欲しいものをテストしてみてください。