拡張子が「XLS; 1」のすべてのファイルの名前を「XLS」に変更しようとしましたが、機能しませんでした。
Windows XPのcygwinで次の方法を試しましたが、うまくいきません。
mv *.XLS;1 *.XLS
mv *.XLS\;1 *.XLS
mv "*.XLS;1" *.XLS
ベストアンサー1
問題はセミコロンのものではなく、2番目の例で問題が解決されました。問題は、Linux / Unixユーティリティ(および拡張Cygwin)がWindowsが理解しているように、このコマンドを「次のすべてのファイルの移動」として扱わないことです.XLS;1
。.XLS
各ファイルを個別に移動する必要があります。
for file in *.XLS\;1; do
mv "$file" "${file%;1}"
done
説明:
これにより、終わるすべてのファイルがインポートされ、.XLS;1
一度に1つずつ名前付き変数に保存されます$file
。各ファイルについて、ファイルをカットして$file
現在位置に移動するように指示します。;1
$file
注:zshを使用している場合は、次のような優れたユーティリティがありますzmv
。
zmv '(*).XLS;1" "$1.XLS"
設定によっては、最初に実行する必要がありますautoload zmv
(.zshrcにも入力)。