複数のファイルの間に共通番号を持つ2つのファイルを探す

複数のファイルの間に共通番号を持つ2つのファイルを探す

RT_1.txt、RT_2.txt、....、RT_1000.txtなどのファイルの例がたくさんあり、EU_1.txt、EU_2.txt、.....、およびEU_1000.txtなどの他のファイルもあります。

同じ番号(RT_1.txtとEU_1.txtなど)の両方のファイルをディレクトリに入れるには、ループを使用する必要があります。誰でも私に連絡してくれてありがとう。

ベストアンサー1

ファイルの 1 つだけが存在していても、ファイルを移動しようとし、宛先ディレクトリ名が数値そのものであるとします。

for n in {1..1000}; do
    mkdir TARGET_$n
    mv -f {RT,EU}_$n.txt TARGET_$n/
done

両方のファイルに存在するファイルのみを移動するには、次を使用します。

for n in {1..1000}; do
    [ -e RT_$n.txt ] && [ -e EU_$n.txt ] && \
        mkdir TARGET_$n && mv -f {RT,EU}_$n.txt TARGET_$n/
done

代わりに。


どちらのソリューションもこの{1..1000}構成を使用して数値リストを生成し、そのファイルを処理します。最初のブロックは、ファイルが存在しない場合はエラーメッセージを表示できます(特定の名前のファイルが存在するかどうかを確認しないため)。 2番目のブロックは、ターゲットフォルダを作成し、その場所にファイルを移動する前に存在するかどうかをテストします。 。

おすすめ記事