User:特定の拡張機能（.txtなど）を備えたファイルを探して、ディレクトリとそのサブディレクトリをループするバッシュスクリプトのサポートが必要です。見つかったファイルごとに、スクリプトは最後に変更された日付を抽出し、その日付にちなんで名前が付けられた新しいディレクトリを作成する必要があります（まだ存在していない場合）。スクリプトは、ファイルを変更日に名前を付けた後に名前付きディレクトリに移動する必要があります。このスクリプトをBashで書くのを手伝ってくれませんか？ Assistant:確かに、ここにあなたが説明したことをするスクリプトがあります：

バッシュ

＃！/bin/bash

＃探したいファイルの拡張機能を指定します
extension = "。txt"

＃現在のディレクトリとそのサブディレクトリ内のすべてのファイルをループ
$（find。-name "*$ extension"）のファイルの場合
する
    ＃ファイルが最後に変更された日付を抽出します
    date = $（date -r "$ file" +％y-％m-％d）

    ＃日付にちなんで名付けられた新しいディレクトリを作成してください。
    もしも [ ！-d "$ date"];それから
        mkdir「$ date」
    fi

    ＃ファイルを変更された後に名前が付けられたディレクトリに移動します
    MV "$ file" "$ date"
終わり
このスクリプトは、Findコマンドを使用して、現在のディレクトリとそのサブディレクトリに指定された拡張子を使用してファイルを検索します。見つかったファイルごとに、スクリプトは、日付コマンドを使用して最後に変更された日付を抽出し、まだ存在しない場合と同じ名前の新しいディレクトリを作成し、ファイルをそのディレクトリに移動します。 
User:ありがとう！:)このスクリプトは、スペースや他の特殊文字を含むファイル名 /パスでも安全ですか？
スクリプトは、スペースや特殊文字を含むファイル名/パスでは適切に機能しない場合があります。このようなケースを処理するには、ファイルパスの周りに二重引用符を使用して、スペースや特殊文字を保存することをお勧めします。

＃！/bin/bash

＃探したいファイルの拡張機能を指定します
extension = "。txt"

＃現在のディレクトリとそのサブディレクトリ内のすべてのファイルをループ
探す 。-name "*$ extension" |読み取りファイル。する
    ＃ファイルが最後に変更された日付を抽出します
    date = $（date -r "$ file" +％y-％m-％d）

    ＃日付にちなんで名付けられた新しいディレクトリを作成してください。
    もしも [ ！-d "$ date"];それから
        mkdir「$ date」
    fi

    ＃ファイルを変更された後に名前が付けられたディレクトリに移動します
    MV "$ file" "$ date"
終わり