Score:1

ค้นหาไดเร็กทอรีที่มีคำนำหน้าชื่อ

ธง do

ฉันมีไดเร็กทอรีขนาดใหญ่หนึ่งไดเร็กทอรีที่มีไดเร็กทอรีย่อยมากมายที่มีชื่อขึ้นต้นด้วย 13xxx,10xxx,11xxx และอื่นๆ ไดเร็กทอรีเหล่านี้มีไฟล์ข้อความชื่อ my_file.txt ตอนนี้ปัญหาคือผมต้องการเปลี่ยนไฟล์ในไดเร็กทอรี 13xxx และ 11xxx เท่านั้น และไม่ต้องการแตะต้องไฟล์ในไดเร็กทอรี 10xxx ฉันพยายามค้นหาไดเรกทอรีด้วย:

[ -d "13*"] && ..
[ -d "13"*] && ..

แต่ดูเหมือนว่ามันจะไม่ทำงานเช่นนี้ ทุกคนสามารถให้รหัสเล็ก ๆ ที่แก้ปริศนานี้ได้หรือไม่?

Score:1
ธง in

คุณสามารถใช้ for-loop และ globbing เช่น:

สำหรับ d ใน 1[13]*; ทำ
    do_something "$d/my_file.txt";
เสร็จแล้ว

หรือ

สำหรับ f ใน 1[13]*/my_file.txt; ทำ
    do_something "$f";
เสร็จแล้ว
do flag
นี่คือการดำเนินการกับทุกไฟล์ในทุกไดเร็กทอรี ดังนั้นไฟล์ทั้งหมดจาก 11xxx, 10xxx และ 13xxx จึงถูกเปลี่ยน
do flag
ขอบคุณผู้ชายสำหรับคำใบ้ ฉันคิดได้จากคำใบ้ที่คุณให้ไว้
pLumo avatar
in flag
แปลก ควรทำงานได้ดีเช่นนี้และไม่ควรรวม 10xxxx บางทีคุณอาจทำอะไรผิด?!
Score:1
ธง do

จึงได้คำตอบว่า

สำหรับ d ใน 11*/; ทำ
    echo "#ข้อความที่จะเพิ่ม" >> "$d"/my_file.txt;
เสร็จแล้ว
สำหรับ d ใน 13*/; ทำ
    echo "#ข้อความที่จะเพิ่ม" >> "$d"/my_file.txt;
เสร็จแล้ว
eg flag
อย่าลืมยอมรับสิ่งนี้เป็นคำตอบสำหรับคำถามของคุณ

โพสต์คำตอบ

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