ผู้โพสต์ครั้งแรกที่นี่และฉันค้นหามาระยะหนึ่งแล้ว แต่ไม่พบเธรดที่ฉันเข้าใจได้ดีพอที่จะแก้ปัญหาของฉัน
ฉันมีลูปในสคริปต์ของฉันที่สร้างตัวแปรบางอย่างผ่านการคั่นด้วย cut -d และฉันต้องการใช้ตัวแปรนั้นเป็นอินพุตสำหรับ sed เพื่อแก้ไขไฟล์ที่แตกต่างกันในแต่ละการวนซ้ำ สคริปต์ปัจจุบันของฉันคือ:
สคริปต์ปัจจุบันของฉันมีลักษณะดังนี้:
สำหรับการป้อนข้อมูลใน $(tail -n 3 filea)
ทำ
a="$(echo $input | ตัด -d "," -f 1)"
b="$(echo $input | ตัด -d "," -f 2)"
c="$(echo $input | ตัด -d "," -f 3)"
เสียงสะท้อน $a
เสียงสะท้อน $b
เสียงสะท้อน $c
หาง -n 1 fileb | sed 's,'$a','$c',2'
เสร็จแล้ว
ด้วยเอาต์พุตของ:
เค
26
ต
KTTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
พี
27
อี
KKTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ส
31
พี
KKTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ตัวอย่างเช่น สตริงในตำแหน่ง 31 ควรแทนที่ด้วย S หากเป็น P
สถานะปัจจุบันของฉันคือฉันได้รับตัวแปร a และ c ถ่ายโอนไปยังคำสั่ง sed อย่างถูกต้องและสตริงที่เกี่ยวข้องจะถูกแทนที่ แต่เปลี่ยนเป็น sed 's,'$a','$c','$b''
หยุดการแทนที่ใด ๆ และบรรทัดเนทีฟ (สุดท้าย) ของ fileb จะได้รับพร้อมท์
ฉันรู้ว่าการถามคำถามที่ดีเป็นหัวข้ออื่นทั้งหมด แต่ฉันหวังว่าใครสักคนสามารถช่วยฉันให้เข้าใจการเขียนที่นี่ เพื่อที่ฉันจะได้สามารถเรียนรู้การเขียนโปรแกรมต่อไปได้ เนื่องจากฉันมักจะก้าวข้ามข้อผิดพลาดเช่นนี้