sed を使用してフォルダー内で反復処理するときの出力のソート順序

sed を使用してフォルダー内で反復処理するときの出力のソート順序

フォルダー内の各ファイルのパターン間の文字列を見つけるために、次の sed コマンドを使用しています。ファイルの名前は 01.txt、02.txt などです。

sed -n '/PAT1/,/PAT2/{/PAT1/!{/PAT2/!p}}' * >> file

しかし、出力はディレクトリ内のファイルと同じ順序でソートされず、別の順序でソートされます。パイプ出力してソートしようとしましたが、順序はすべての一致/すべてのファイルに分散され、これは私が探しているものではありません。出力を同じ 01.txt、02.txt の順序で追加したいのです。grep が同じことを行い、一致を見つけて 1 つのファイルから別のファイルに移動しているのを見たことがあります。sed を使用することを好みますが、grep もオプションです。ありがとうございます。

答え1

スクリプトに頼らざるを得ませんでしたが、それでも 1 行です。

for f in file*.txt; do sed -n 'PAT1/,/PAT2/{/PAT1!{/PAT2};}' $f >> outputfile; done

関連情報