1

bash スクリプト リクエスト (または fish スクリプト)。次のようなファイルがたくさんあります。

name - lastname.info
names  - lastnames.info
name & name - lastname & lastname.info

しかし、私はそれらすべてを次のように変更したい:

lastname - name.info
lastnames - names.info
lastname & lastname - name & name - lastname & lastname.info
4

3 に答える 3

2

あなたのサンプルデータに行く" - "と、区切り文字として持っているので、

for file in *; do
    ext=${file##*.}
    no_ext=${file%.*}
    name=${no_ext% - *}
    lastname=${no_ext##* - }
    mv "$file" "$lastname - $name.$ext"
done

詳細については、 http: //www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion を参照してください。

于 2013-05-24T18:20:06.710 に答える