Windowsシステムには、大文字と小文字のファイル名を持つファイルフォルダがあります。
「a」または「A」で始まるファイル名は、「A」または「a」フォルダに保存されます。 「b」または「B」で始まるすべてのファイル名は、「B」または「b」フォルダに保存されます。など
現在のフォルダ名は、任意の大文字の「A」または小文字の「a」にすることができます。
今私の仕事は、これらのフォルダとファイルをLinuxに移動し、ケースディレクトリ名とファイル名に基づいてファイルを別のフォルダに分割することです。 (たとえば、atF0Gxxファイルは「a」フォルダの下にあり、A0p9xxxファイルは「A」フォルダの下にあり、b、B、c、C、d、D ... z、Zも同じです)
各ファイルとフォルダに対して手動で実行せずに回避策はありますか?
ベストアンサー1
そしてzsh
:
autoload -Uz zmv
mkdir -p {a..z} {A..Z}
zmv '[a-zA-Z]/(([a-zA-Z])*)' '$2/$1'
mv -- x/Xwhatever X/Xwhatever
mv
すでに正しいディレクトリにあるファイルへの呼び出しをスキップし、各ファイルに対して実行されます。実際に実行せずに実行する操作を確認する-n
オプションを追加してください。zmv