การลบไฟล์ที่ตรงกับการแสดงออกปกติช่วงตัวเลข


13

ฉันมีโฟลเดอร์ที่มีไฟล์มากมาย ไฟล์ข้อมูลบางไฟล์มีป้ายกำกับ 1, 2, 3, ... , 300

ฉันต้องการลบไฟล์ข้อมูลเหล่านี้โดยใช้เทอร์มินัล ฉันจะทำสิ่งนี้ได้อย่างไร

ฉันต้องการทำบางสิ่งเช่น

rm some-regular-expression-giving-numbers-from-0--300

ที่พวกเขาเรียกว่าเพียงแค่1, 2ฯลฯ และพวกเขาทั้งหมดตรงกับการแสดงออกที่จะช่วยให้ตัวเลข 0-300 หรือจะมีองค์ประกอบอื่น ๆ ในชื่อไฟล์? คุณช่วยยกตัวอย่างที่เป็นรูปธรรมมากขึ้นกับรายชื่อไดเรกทอรีได้ไหม
slhck

ใช่พวกเขาจะถูกเรียกว่า 1, 2, ฯลฯ
smilingbuddha

คำตอบ:


16

คุณสามารถลอง

rm some-files-with-numbers{0..300}

สิ่งนี้จะลบ:

some-files-with-numbers0

some-files-with-numbers1

some-files-with-numbers2

...

some-files-with-numbers300

1

ฉันชอบคำตอบของ superuser แต่เพิ่มความเป็นไปได้อื่น:

find . -regex './some-files-with-numbers[123]?[0-9]?[0-9]' -delete

1
เกี่ยวกับsome-files-with-numbers301อะไร
cYrus

@ cYrus ฉันตระหนักถึงข้อ จำกัด :) คำตอบของฉันมีวัตถุประสงค์เพื่อเป็นอีกทางเลือกหนึ่งของ superuser
qdii
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.