単純なbashスクリプトエラー - mv + awk

単純なbashスクリプトエラー - mv + awk

フォルダ内のディレクトリリストの名前を変更するスクリプトを作成しようとしています。これはbashスクリプトであり、これを行うためにawkのみを使用します。

現在のモード:

[2015] Name of the album

必須フォーム:

Name of the album - [2015]

私のスクリプト:

#! /usr/bin/env bash
for f in \[*; do
    mv -t "$f" "$( awk -F '\] ' ' {print $2 " - " $1 "]"}' <<<"$f" )"
done

上記のスクリプトを実行すると、次のエラーが発生します。

mv: cannot stat 'In Dreams [EP] - [1963]': No such file or directory

ベストアンサー1

-tあなたはあなたの状況でそれをしたくありません。これによりmv、名前をディレクトリに移動するように求められます$f

次のように拡張されます。

mv -t "[2015] Name of the album" "Name of the album - [2015]"

そうでなければ、おそらくこれがあなたが望むものでしょう-t。これは$f宛先ディレクトリ名としてそのまま処理され、他のすべてのパラメータはそのディレクトリに移動する必要があります。

おすすめ記事