私の現在のタスクは、複数のディレクトリにまたがる多数のファイルの名前を異なる識別子に変更することです。
したがって、b01、b02、b03 などのようないくつかのディレクトリがあります。各ディレクトリ内には、img01.23495.png、img01.3596596.png、img02.2399495.png などのファイル名があります。
b01 の img01 の名前を他の識別子に変更する必要があります。したがって、識別子はディレクトリ名とファイル名の最初の部分に依存します。
パイプラインに関する私の考えは次のとおりです。すべてのpngファイル名を取得し、それがどのフォルダーにあるかを抽出し、img##部分を抽出し、情報をファイルに保存するので、次のようなファイルを取得します:
b01 img01
b01 img02
b02 img01
...
これは便利なので、あとがきで新しい識別子を 3 列目に指定し、ファイルを読み込んで実際の名前変更を実行できます。
現在、./images/something/b01/img01.2342394.png のようなパスがあります。
リストを取得するために、私は現在次のようなことを試みています
find . | grep png | something sed | sort | uniq > indentifiers.txt
しかし、私はそのsed
部分にこだわっています。また、私がやろうとしていることを実行するための提案も歓迎します。