ฉันมีโฟลเดอร์ที่มีไฟล์จำนวนมาก (xyz1, xyz2 ไปจนถึง xyz5025) และฉันต้องเรียกใช้สคริปต์ในทุก ๆ ไฟล์รับ xyz1.faa, xyz2.faa และอื่น ๆ
คำสั่งสำหรับไฟล์เดียวคือ:
./transeq xyz1 xyz1.faa -table 11
มีวิธีการทำเช่นนั้นโดยอัตโนมัติหรือไม่? อาจจะเป็นคำสั่งผสมที่ต้องทำ?
for file in xyz*; do ./transeq "$file" "${file}.faa" -table 11; done
หรือเป็นหนึ่งซับ: ฉันพิมพ์สิ่งนี้ตลอดเวลา และถ้าคุณต้องการตรวจสอบว่าชื่อไฟล์ ฯลฯ กำลังขยายแบบที่คุณต้องการเพียงแค่ใส่echo
หลังจากdo
ครั้งแรกแล้วย้อนกลับไปในประวัติเชลล์ของคุณและลบมันในครั้งที่สอง