ฉันต้องการค้นหาไฟล์ที่ใหม่กว่า 15 วินาที แต่เก่ากว่า 2 วินาที นี่คือสคริปต์ที่ฉันใช้ในขณะนี้ซึ่งคว้าไฟล์ใหม่กว่า 15 วินาที:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก
ฉันต้องการค้นหาไฟล์ที่ใหม่กว่า 15 วินาที แต่เก่ากว่า 2 วินาที นี่คือสคริปต์ที่ฉันใช้ในขณะนี้ซึ่งคว้าไฟล์ใหม่กว่า 15 วินาที:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก
คำตอบ:
คุณสามารถรวมภาคแสดงหลายรายการโดยผูกมัดพวกเขา
ไม่มีแต่คุณสามารถเขียนว่าเป็น-oldermt-not -newermt
คุณต้องการ:
-newermt '-15 seconds' เพื่อบอกว่าไฟล์มีอายุน้อยกว่า 15 วินาทีและ -not -newermt '-2 seconds' เพื่อบอกว่าไฟล์มีอายุมากกว่า 2 วินาทีลอง:
find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds'
หรือเพื่อให้สอดคล้องกับ POSIX:
find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds'
นอกจากนี้เพื่อให้คุณ (และผู้อ่านรายอื่น) ทราบว่า "ใหม่กว่า" หมายถึงแก้ไขได้เร็วกว่าไม่ใช่เพิ่งสร้างเร็วกว่า
-not -newermt '-2 seconds'จะจับคู่ไฟล์เก่าอย่างสมบูรณ์ด้วย 2 วินาที ใช้-not -newermt '3 seconds'เพื่อยกเว้นสิ่งเหล่านี้เช่นกัน
touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds' file
คุณไม่ได้พูดถึงระบบปฏิบัติการของคุณ ....
นี้ทำงานได้ดีกับการดำเนินการค้นหาที่ทันสมัยเช่นเดียวจาก FreeBSD sfindหรือมี
find /my/directory -name '*.jpg' -mtime -15s -mtime +2s
Sfind เป็นส่วนหนึ่งของเครื่องมือ Schily: http://sourceforge.net/projects/schilytools/files/
คำเตือน: sfindฉันเพิ่งค้นพบปัญหาใน หาก-mtimeข้อโต้แย้งน้อยกว่ายุค 60s ก็จะทำงานไม่ถูกต้องเท่าไฟล์กำลังเมื่อเทียบกับการประทับเวลา 60 -lsวินาทีในอนาคตที่คำนวณเดิมสำหรับสวิทช์ปีสำหรับ
BTW: -notไม่ได้เป็นของfindมันมันเป็น GNUism แบบพกพาไม่ได้
bashแท็ก…ดังนั้นสภาพแวดล้อมอาจเป็น Cygwin, Debian GNU / Hurd, bashทำงานบน FreeBSD หรือ Solaris, … ;-)
findดูเหมือนว่าทศนิยมแม้ว่าจะบ้า แต่ก็สามารถใช้เป็นวิธีแก้ปัญหาได้
!สำหรับ -Not ! expressionเป็น ดังนั้นไม่มีเรื่องใหญ่
primaryจากการfindที่จะแจ้งให้คนที่ไม่มีความจำเป็นที่มักจะเพิ่มใหม่primariesเพื่อหาสิ่งที่จะสามารถเพิ่มประสิทธิภาพการทำงาน BTW: คงที่ได้รับการตีพิมพ์ในlibfind schily tools
gfindเพิ่ม-notชื่อแทนเลย มันไม่เคยต้องการและการมีอยู่ของมันสามารถถูกมองว่าเป็นล็อคผู้ขายในกลยุทธ์
findใช้งาน