Saya mencari cara yang dapat diandalkan untuk mendeteksi penggantian nama file dan mendapatkan nama file lama dan baru. Inilah yang saya miliki sejauh ini:
COUNTER=0;
inotifywait -m --format '%f' -e moved_from,moved_to ./ | while read FILE
do
if [ $COUNTER -eq 0 ]; then
FROM=$FILE;
COUNTER=1;
else
TO=$FILE;
COUNTER=0;
echo "sed -i 's/\/$FROM)/\/$TO)/g' /home/a/b/c/post/*.md"
sed -i 's/\/'$FROM')/\/'$TO')/g' /home/a/b/c/post/*.md
fi
done
Ini berfungsi, tetapi mengasumsikan Anda tidak akan pernah memindahkan file ke dalam atau keluar dari folder yang ditonton. Ini juga mengasumsikan bahwa acara datang berpasangan, pertama dipindahkan_dari, lalu dipindahkan_to. Saya tidak tahu apakah ini selalu benar (bekerja sejauh ini).
Saya membaca inotify menggunakan cookie untuk menautkan acara. Apakah cookie dapat diakses entah bagaimana? Karena tidak memiliki cookie, saya berpikir untuk menggunakan cap waktu untuk menghubungkan acara bersama. Adakah kiat untuk mendapatkan DARI dan TO dengan cara yang lebih andal?