特定のサフィックスが付いたファイルをディレクトリに移動する

特定のサフィックスが付いたファイルをディレクトリに移動する

こんにちは。 .kshスクリプトには次の行があります。

for file in $fileDirectory/*.$yesterdayDate
do
mv *.$yesterdayDate "$fileDirectory/$yesterdayDate"
done

ただし、これを行うと、次のエラーが発生します。

mv: cannot stat ‘*.20200607’: No such file or directory
mv: cannot stat ‘*.20200607’: No such file or directory
mv: cannot stat ‘*.20200607’: No such file or directory

私が間違っていることを知っている人はいますか?

ベストアンサー1

*.20200607現在、ディレクトリに一致するファイルはありません。これはまったく驚くべきことではないかもしれません。

その変数の周りにループを構築fileしますが、絶対に使用しないでください。

for file in "$fileDirectory"/*."$yesterdayDate"; do
    mv "$file" "$fileDirectory/$yesterdayDate"
done

しかし、なぜそれだけではないのですか?

mv "$fileDirectory"/*."$yesterdayDate" "$fileDirectory/$yesterdayDate"

?ファイルが多すぎてmv通話できませんか?おそらくそうではありません。

おすすめ記事