inotifywait - フルパスの代わりにファイル名のみを使用してファイル名を変更しますか?

inotifywait - フルパスの代わりにファイル名のみを使用してファイル名を変更しますか?

このスクリプト構文を使用してファイル名のみを使用してファイル名を変更するにはどうすればよいですか?

#!/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"動作します。

おすすめ記事