โซลูชันเชลล์ POSIX
โซลูชั่นแรก terdon ของ อาศัยอยู่กับการขยายตัวรั้งซึ่งเป็นทรัพย์สินของbash
และksh
แต่ก็ไม่สามารถนำมาใช้ในมาตรฐาน/bin/sh
เปลือกซึ่งบน Ubuntu เป็น symlinked /bin/dash
ไป
ในกรณีที่คุณต้องพึ่งพา/bin/sh
การพกพาของสคริปต์โดยทั่วไปมีสองวิธีในการเข้าถึงสิ่งนี้ หนึ่งจะผ่านทางโค้ง เพียงและจากที่นั่นวิ่งcd folderA
rm a_*
อีกวิธีหนึ่งคือการใช้ C-style สำหรับลูปทางเลือกที่ใช้while <CONDITION>;do ...done
ในภาษาเชลล์และจัดรูปแบบตัวเลขด้วยprintf
:
$ sh -c 'i=0;while [ $i -le 750 ]; do filename=$(printf "a_%06d" $i);echo "$filename";i=$((i+1)) ;done'
echo
แจ้งให้ทราบว่าการใช้งานที่นี่ฉัน แทนที่echo "$filename"
ด้วยrm ./"$filename"
หรือrm -- "$filename"
เมื่อคุณพร้อมที่จะลบไฟล์ โปรดทราบด้วยว่าควรดำเนินการนี้เมื่อคุณcd
แก้ไขลงในไดเรกทอรีที่ต้องการแล้ว
(ab) การใช้ awk
Awk เป็นภาษา C ที่ดีสามารถช่วยเราได้สองวิธี: (1) เราสามารถสร้างชื่อไฟล์ด้วย for-loop และจัดรูปแบบพวกมันผ่านsprintf
ฟังก์ชั่นและ (2) ลบไฟล์ที่กล่าวผ่านsystem()
คำสั่งซึ่งจะผ่านชื่อไฟล์และrm
คำสั่งที่สร้างขึ้นไปที่/bin/sh
:
awk 'BEGIN{for(i=0;i<=750;i++){filename=sprintf("a_%06d",i);system("rm "filename);} }'
Perl
ดำเนินการต่อด้วยแนวคิดของวิธีการพกพาที่เรา "สร้าง" ชื่อไฟล์เราสามารถทำเช่นเดียวกันใน Perl:
perl -le 'for(0..750){$fd=sprintf("a_%06d",$_);unlink($fd)}'