Score:3

วิธีแทนที่สตริงในหลายไฟล์ในหลายโฟลเดอร์ที่มีลำดับชั้นต่างกันในบรรทัดคำสั่ง linux

ธง il

ฉันมีไฟล์จำนวนมากที่มีนามสกุล *.ปล่อย กระจายอยู่ในโฟลเดอร์ต่างๆ ภายในไดเร็กทอรีหลัก ลำดับชั้นจะไม่เหมือนกันเสมอไปสำหรับ .ปล่อย ไฟล์. เช่น: src/folder/sth.launch และ src/folder2/../../another.launchดังนั้นสิ่งนี้ สารละลาย ใช้ไม่ได้ที่นี่!

ฉันจะแทนที่สตริงได้อย่างไร xarco.py ด้วยสตริงอื่น ซาร์โคในทั้งหมดนี้*ปล่อย ไฟล์ในโฟลเดอร์และระดับต่างๆ โดยใช้คำสั่ง Linux? ขอบคุณล่วงหน้า.

Score:5
ธง jp

เมื่ออยู่ในไดเร็กทอรีหลัก คุณสามารถลองใช้คำสั่งต่อไปนี้

หา . -type f -name "*.launch" -exec echo sed -i 's/xarco.py/xarco/g' {} \;

และถ้ามัน 'ดูดี' ให้ลบออก เสียงสะท้อน เพื่อปฏิบัติงานจริง

หา . -type f -name "*.launch" -exec sed -i 's/xarco.py/xarco/g' {} \;

หากมีปัญหาเกี่ยวกับการอนุญาต คุณอาจต้องขึ้นต้นด้วย ซูโด:

ค้นหา sudo ...
Fabian avatar
cn flag
เนื่องจากช่วยให้ "dry-run"

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา