このスクリプト構文を使用してファイル名のみを使用してファイル名を変更するにはどうすればよいですか?
#!/bin/bash
WATCHED=/mnt/Watched
DESTINATION=/mnt/Destination
inotifywait -re CLOSE_WRITE,CREATE,MOVED_TO --format $'%e\t%w%f' -m $WATCHED |
while IFS=$'\t' read -r events new
do
cp -r "$WATCHED/$new" "$DESTINATION/"
done
これを実行すると、このような結果が出ます。
cp: cannot stat '/mnt/Watched//mnt/Watched/newfile.mkv': No such file or directory
形式を次のように設定すると正しく機能することがわかりますが、欠落しているスクリプト--format %f
の他の部分へのイベントとフルパスが必要なため、この方法では設定できません。それでは、cpコマンドにファイル名を抽出して割り当てるにはどうすればよいですか?
ありがとう
ベストアンサー1
私はjordanmの提案に従って変更しましたが、"$WATCHED/$new"
今"$new"
動作します。