ฉันเห็นคำตอบนี้แล้ว
คุณควรพิจารณาใช้ inotifywait เป็นตัวอย่าง:
inotifywait -m /path -e create -e moved_to | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" # do something with the file done
คำถามของฉันคือสคริปต์ข้างต้นดูไดเรกทอรีสำหรับการสร้างไฟล์ทุกประเภท แต่ฉันจะแก้ไขinotifywait
คำสั่งเพื่อรายงานได้เฉพาะเมื่อไฟล์ประเภท / นามสกุลที่แน่นอนถูกสร้างขึ้น (หรือย้ายไปยังไดเรกทอรี) - เช่นควร รายงานเมื่อ.xml
มีการสร้างไฟล์ใด ๆ
ฉันลองอะไร:
ฉันรันinotifywait --help
คำสั่งแล้วและอ่านตัวเลือกบรรทัดคำสั่ง มันมี--exclude <pattern>
และ--excludei <pattern>
คำสั่งในการยกเว้นไฟล์บางประเภท (โดยใช้ regEx) แต่ฉันต้องการวิธีที่จะรวมเพียงแค่ไฟล์ประเภท / นามสกุลที่แน่นอน
path
ข้างต้นอาจไม่ใช่ชื่อตัวแปรที่ดีที่สุดหากคุณต้องการเล่นกับเชลล์ตัวแรกPATH
ถ้าคุณใช้มันแล้วคุณจะไม่สามารถที่จะใช้คำสั่งและทุกอย่างตั้งแต่นี้มีพื้นเพียงแทนที่มาตรฐาน ดังนั้นฉันแนะนำให้ใช้ชื่อ var อื่นเช่นfpath
แทน นั่นคือwhile read fpath action file
คำสั่งมาตรฐานใด ๆ ที่มักจะมีให้จากเชลล์ของคุณ