regex สำหรับผู้ชนะ!
การใช้ find เป็นวิธีที่ดีที่สุดที่ฉันคิดนอกการใช้ regex ที่อาจมีอยู่แล้วในเชลล์เฉพาะของคุณหรือภายในแอพที่คุณใช้งานอยู่ ก่อนอื่นฉันลอง:
touch one&touch two &touch three&find -name "one|two|three" -exec chown -644 {} \;
แต่คุณจะพบว่าท่อไม่ทำงานในกรณีนี้ สิ่งที่น่าเศร้าอีกอย่างที่ต้องเรียนรู้ ... เช่นการเรียนรู้ chmod, chown, chgrp, et อัล ไม่รองรับการเลือก / ยกเว้นตัวเลือกหลายไฟล์ / regex เอง ...
วิธีแก้ปัญหาที่ฉันพบ:
/programming/19111067/regex-match-either-string-in-linux-find-command
find \( -name one -o -name two -o -name three \) -exec chown -644 {} \;
ดังนั้นไม่ regex มากสำหรับการชนะ แต่อย่างน้อยเรามีวิธีการฉีดรายการไฟล์ลงใน args ของโปรแกรมในหนึ่งซับ
คุณจะทราบว่าคุณต้องหลีกเลี่ยง meta-characters และการเพิ่มพารามิเตอร์ -o สำหรับชื่อเพิ่มเติมแต่ละชื่อ ...
ลิงก์และเนื้อหาอื่น ๆ จากฉันซึ่งคุณอาจสนใจในการเดินทางของคุณ:
เกร็ดความรู้ต่าง ๆ - บันทึกจากกรณ์บอร์นและเพื่อน ๆ - เว็บไซต์ของ Dave Horner
ไชโย
--dave