次のような名前のファイルがたくさんあります。
File one - some name - 01-05-2020
File two - some name - 01-07-2020
File three - some name - 01-15-2020
私が必要とするのは、次のものを交換することです。
- ハイフンで連結された単一のスペースです。
- スペースの間にはハイフンとアンダースコアを使用してください。
私の予想結果は次のとおりです。
File-one_some-name_01-05-2020
File-two_some-name_01-07-2020
File-three_some-name_01-15-2020
PD:私はArchベースのManjaroを使用しています。
ベストアンサー1
1つの解決策はmv
次のとおりですsed
。
for file in *; do echo mv "$file" "$(echo $file | sed 's/ - /_/g ; s/ /-/g')" ; done
変更をコミットするには、最初のエコーを削除してください。
テスト
$ for file in *; do echo mv "$file" "$(echo $file | sed 's/ - /_/g ; s/ /-/g')" ; done
mv File one - some name - 01-05-2020 File-one_some-name_01-05-2020
mv File three - some name - 01-15-2020 File-three_some-name_01-15-2020
mv File two - some name - 01-07-2020 File-two_some-name_01-07-2020