ใช้คำสั่ง Linux สำหรับการดำเนินการวนรอบเพื่อปรับขนาดของกลุ่มไฟล์ ข้อผิดพลาด


2

ฉันสร้างไฟล์คำสั่งนี้แล้ว มีวัตถุประสงค์เพื่อวนไฟล์จำนวนมากและปรับขนาดจาก 8MB เป็น 18MB

ไฟล์ดังกล่าวrubbi8.txt, rubbi9.txt, rubbi9.txt...rubbi18.txt

สคริปต์ของฉันคือ:

for i in {8..18}
do
  "truncate -s $im rubbi$i.txt"
done

ผลลัพธ์ที่ได้คือ:

./kk3.sh: line 4: truncate -s  rubbi8.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi9.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi10.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi11.txt: command not found

ฉันจะกำหนดค่าอาร์กิวเมนต์สำหรับคำสั่ง truncate ได้อย่างไร

ขอบคุณ jvb รูปแบบคำสั่งที่ถูกต้องคือ: --->


สำหรับฉันใน {8..18}
do
truncate -s $ {i} m rubbi $ {i} .txt
เสร็จแล้ว



การตอบสนองwhich truncateคืออะไร?
Jeff Zeitlin

1
คลิกที่เครื่องหมายถูกเพื่อยอมรับคำตอบแทนที่จะแก้ไขคำถามของคุณ
Steven

สวัสดีสตีเว่นคุณหมายถึงว่าฉันเพิ่มคะแนนคำตอบหรือไม่? ฉันทำอย่างนั้นแล้ว ฉันควรทำอะไรอีก ฉันยังใหม่กับสิ่งนี้ ขอบคุณ
goodjohn

คำตอบ:


3

ลบเครื่องหมายคำพูดรอบคำสั่ง truncate ของคุณและใช้เครื่องหมายวงเล็บปีกกา${i}เพื่อระบุจุดสิ้นสุดของชื่อตัวแปร

for i in {8..18}
do
  truncate -s ${i}m rubbi${i}.txt
done

1

คำพูดที่จะทำให้truncate -s rubbi8.txt( ฯลฯ ) ชื่อคำสั่ง - มีช่องว่างและพารามิเตอร์ที่เป็นส่วนหนึ่งของชื่อไฟล์ปฏิบัติการ - ซึ่งไม่ได้อยู่

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