フォルダ内のすべてのファイルを個別に並べ替え、それぞれの出力ファイルを使用します

ハシムアジズ|

数十から数百の範囲の多数のテキストファイルを含むいくつかのフォルダがあります。これらのテキストファイルは、数百万行を含む単純なデータベースであり、各行には1つのレコードが含まれています。ただし、それらのレコードはソートされておらず、多くの重複が含まれています。それらをすべて個別に(つまり、互いに独立して)並べ替えて重複排除したいのですが、私の理解でsortは、すべての入力ファイルの連結出力しか生成できません-つまり、複数のファイルが与えられた場合でも、それはこれらすべてのファイルの結果を組み合わせた1つの出力ファイルを生成します。

現在のフォルダ内のすべてのファイルを並べ替えて、それぞれに個別に並べ替えられた出力ファイルを生成するにはどうすればよいですか?また、出力ファイルを現在のディレクトリ内のサブフォルダに出力したいと思います。forループは、私には明白な解決策ですが、私はこれを行うには、いくつかの簡単な方法があります場合には、ここで聞いてるのよsort、私が渡って来るか見逃していませんでしたということが。私のbash知識も非常に不足しているので、forループ最も簡単な解決策である場合、私がやりたいことにはまだ及ばない何かを一緒にハッキングするのに何日も費やすのではなく、誰かがそれを実行するための最良の方法を提供してくれるとありがたいです。

カミル・マシオロフスキー

はい、でこれを行うことができますfor「これを行うためのより簡単な方法」があるとしてもsort(しかし私はそうは思いません)、これも非常に簡単です。

# cd to the directory you want to process

mkdir sorted    
for file in *; 
do
   printf 'Processing %s\n' "$file"
   [ -f "$file" ] && sort -u "$file" > "./sorted/$file"
done

ノート:

  • for file in * サブディレクトリ内のファイルは処理しません。
  • printf進捗状況を報告するだけです。実際、それは後に配置する必要があります[ ... ](以下を参照)が、コードを過度に複雑にしたくありません。printf全体を無音にしたい場合は、行を削除するだけです。
  • [ -f "$file" ]$fileが通常のファイルであるかどうかを確認します。最も一般的なパターン(つまり*)では、少なくともディレクトリを引数として実行sortないようにするために、この条件が必要ですsorted(これにより、エラーがスローされ、無害ですがエレガントではありません)。のように、*.txtまたは*.dbその代わりに、より具体的なグロブを使用する場合*(たとえば、desktop.ini処理されるべきではない漂遊ファイルをスキップする場合)、このテストは必要ない可能性がありますこの場合[ ... ] &&、行を省略して開始することができますsort(ただし、行をそのままにしておいても問題はありません)。
  • sort さまざまなオプションをサポートしており、並べ替えの方法に応じて、それらのいくつかを使用することをお勧めします。

  • sort -uエントリを並べ替えた直後に重複排除します。すでに使用してsortいる場合は、uniqコマンドを使用するよりも冗長性が低くなります

単純なグロブよりも複雑な条件に従ってファイルを選択する必要がある場合は、find最初から始める方がよい場合があります。あなたの現在の仕事のforために大丈夫なはずです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ログをそれぞれの月と年のフォルダに並べ替えるためのバッチファイルを作成しています...?

分類Dev

すべてのフォルダとサブフォルダ内のすべてのファイルを個別のzipファイルに圧縮します

分類Dev

それぞれのファイル拡張子に従ってファイルパスを並べ替えます

分類Dev

フォルダ内のすべてのExcelファイルをループし、SASでそれぞれの特定のセルを抽出します

分類Dev

フォルダ内のファイルを並べ替える

分類Dev

ファイルから整数の配列を並べ替えて、別のファイルに返します

分類Dev

Pythonファイル-IOおよびzipファイル。フォルダー内のすべてのファイルをループしてから、Pythonを使用してそれぞれのファイル内のテキストをループしようとしています

分類Dev

jqueryjavascriptを使用してテーブル内のフォルダとファイルを並べ替える方法

分類Dev

シェルを介して、それぞれのフォルダ内の異なるフォルダにあるファイルをコピーします

分類Dev

サブフォルダー内のファイルを数え、表示を並べ替えます

分類Dev

シエラのファインダー「種類別に並べ替え」には、フォルダと「その他」のみが表示されます

分類Dev

ディレクトリ内のすべてのファイルをそれぞれのフォルダに抽出することは可能ですか?

分類Dev

findを使用して、すべてのファイルをサイズ順に並べ替えます

分類Dev

フォルダ内のすべてのサブフォルダを個別のzipファイルに圧縮します

分類Dev

Markdownファイル内の複数のテーブルを、それらの間にテキストを散在させて並べ替えます

分類Dev

Pythonを使用して、サブフォルダーを含むフォルダー内のファイル名を再帰的に並べ替えるにはどうすればよいですか?

分類Dev

Bashでファイル/フォルダーの出力を並べ替える

分類Dev

フォルダ内のすべてのPDFにファイル名で透かしを入れます

分類Dev

一意の並べ替え:出力を同じファイルにリダイレクトします

分類Dev

一意の並べ替え:出力を同じファイルにリダイレクトします

分類Dev

特定の列を持つファイルを並べ替えて一意にし、指定されたファイルの最初の値のみを保持します

分類Dev

一連のフォルダから取得したサイズでファイルを並べ替えます

分類Dev

makefileを使用して、1つのフォルダー内のすべてのファイルを個別にコンパイルおよび更新する方法

分類Dev

フォルダ内のすべてのファイルを個別の添付ファイルとして送信します

分類Dev

サイズC#ですべてのファイルとフォルダを並べ替える

分類Dev

アルファベット順に上を並べ替え、次にそれぞれの下を並べ替えます。すべてを並べ替える必要があります

分類Dev

ディレクトリ内のファイルを繰り返し処理し、ファイル名に基づいてフォルダを作成し、ファイルをそれぞれのフォルダに移動します

分類Dev

Explorer ++でデフォルトのファイル/フォルダーの並べ替えとしてタイプによる並べ替えを行う方法

分類Dev

すべてのファイルをフォルダから別のフォルダにコピーします

Related 関連記事

  1. 1

    ログをそれぞれの月と年のフォルダに並べ替えるためのバッチファイルを作成しています...?

  2. 2

    すべてのフォルダとサブフォルダ内のすべてのファイルを個別のzipファイルに圧縮します

  3. 3

    それぞれのファイル拡張子に従ってファイルパスを並べ替えます

  4. 4

    フォルダ内のすべてのExcelファイルをループし、SASでそれぞれの特定のセルを抽出します

  5. 5

    フォルダ内のファイルを並べ替える

  6. 6

    ファイルから整数の配列を並べ替えて、別のファイルに返します

  7. 7

    Pythonファイル-IOおよびzipファイル。フォルダー内のすべてのファイルをループしてから、Pythonを使用してそれぞれのファイル内のテキストをループしようとしています

  8. 8

    jqueryjavascriptを使用してテーブル内のフォルダとファイルを並べ替える方法

  9. 9

    シェルを介して、それぞれのフォルダ内の異なるフォルダにあるファイルをコピーします

  10. 10

    サブフォルダー内のファイルを数え、表示を並べ替えます

  11. 11

    シエラのファインダー「種類別に並べ替え」には、フォルダと「その他」のみが表示されます

  12. 12

    ディレクトリ内のすべてのファイルをそれぞれのフォルダに抽出することは可能ですか?

  13. 13

    findを使用して、すべてのファイルをサイズ順に並べ替えます

  14. 14

    フォルダ内のすべてのサブフォルダを個別のzipファイルに圧縮します

  15. 15

    Markdownファイル内の複数のテーブルを、それらの間にテキストを散在させて並べ替えます

  16. 16

    Pythonを使用して、サブフォルダーを含むフォルダー内のファイル名を再帰的に並べ替えるにはどうすればよいですか?

  17. 17

    Bashでファイル/フォルダーの出力を並べ替える

  18. 18

    フォルダ内のすべてのPDFにファイル名で透かしを入れます

  19. 19

    一意の並べ替え:出力を同じファイルにリダイレクトします

  20. 20

    一意の並べ替え:出力を同じファイルにリダイレクトします

  21. 21

    特定の列を持つファイルを並べ替えて一意にし、指定されたファイルの最初の値のみを保持します

  22. 22

    一連のフォルダから取得したサイズでファイルを並べ替えます

  23. 23

    makefileを使用して、1つのフォルダー内のすべてのファイルを個別にコンパイルおよび更新する方法

  24. 24

    フォルダ内のすべてのファイルを個別の添付ファイルとして送信します

  25. 25

    サイズC#ですべてのファイルとフォルダを並べ替える

  26. 26

    アルファベット順に上を並べ替え、次にそれぞれの下を並べ替えます。すべてを並べ替える必要があります

  27. 27

    ディレクトリ内のファイルを繰り返し処理し、ファイル名に基づいてフォルダを作成し、ファイルをそれぞれのフォルダに移動します

  28. 28

    Explorer ++でデフォルトのファイル/フォルダーの並べ替えとしてタイプによる並べ替えを行う方法

  29. 29

    すべてのファイルをフォルダから別のフォルダにコピーします

ホットタグ

アーカイブ