ฉันใช้ Ubuntu บนเครื่อง Windows 10 ฉันพยายามเปลี่ยนชื่อไฟล์ 5 ไฟล์ (file1.txt, file2.txt, file3.txt, file4.txt, file5.txt) เพื่อให้แต่ละไฟล์ถูกแทนที่ด้วย Sample#_VoucherID.fastq.gz
ในการทำเช่นนี้ ฉันมีไฟล์ .csv ที่มีรูปแบบเป็น ไฟล์เก่าไฟล์ใหม่
และฉันกำลังใช้ เสด
ดังนี้"
sed 's/^/mv -vi /;s/,/ /;s/$//' < ไฟล์เปลี่ยนชื่อ.csv | ทุบตี -e
เมื่อใดก็ตามที่ฉันเรียกใช้สิ่งนี้ แทนที่จะได้รับ:
ตัวอย่าง#_VoucherID.fastq.gz
สำหรับแต่ละไฟล์ ฉันได้รับ 'ตัวอย่าง#_VoucherID.fastq.gz'$'\r'
แทน. ทำไมสิ่งนี้ถึงเกิดขึ้น? ถ้าฉันใช้ เอ็มวี
ในเทอร์มินัล Ubuntu เพื่อเปลี่ยนชื่อไฟล์ ฉันได้รับการเปลี่ยนชื่อไฟล์ตามที่ฉันต้องการโดยไม่ต้องใช้ '
,$
,และ \
ก่อนและหลังชื่อไฟล์ ถ้าฉันไม่ใช้ | ทุบตี -e
ในไฟล์และฉันลบเครื่องหมายคำพูด มันพิมพ์:
mv -vi file1.txt ตัวอย่าง 1_VoucherID.fastq.gz
mv -vi file2.txt Sample2_VoucherID.fastq.gz
mv -vi file3.txt Sample3_VoucherID.fastq.gz
mv -vi file4.txt ตัวอย่าง 4_VoucherID.fastq.gz
mv -vi file5.txt ตัวอย่าง 5_VoucherID.fastq.gz
อย่างไรก็ตาม มันไม่ได้เรียกใช้ไฟล์ เอ็มวี
สั่งการ. ฉันจะเปลี่ยนชื่อไฟล์โดยไม่ได้รับอักขระพิเศษเหล่านั้นได้อย่างไร