ฉันใช้sedคำสั่งต่อไปนี้เพื่อค้นหา / แทนที่ข้อความใน Linux สำเร็จแล้ว:
sed -i 's/old_link/new_link/g' *
อย่างไรก็ตามเมื่อฉันลองบน Mac OS X ของฉันฉันจะได้รับ:
"คำสั่ง c คาดว่า \ ตามด้วยข้อความ"
ฉันคิดว่า Mac ของฉันใช้เชลล์ BASH แบบปกติ ว่าไง?
แก้ไข:
ตามประสิทธิภาพสูง @ นี่เป็นเพราะ Mac sedมีรสชาติที่แตกต่างกัน (BSD) ดังนั้นคำถามของฉันจะเป็นอย่างไรฉันจะทำซ้ำคำสั่งนี้ใน BSD ได้sedอย่างไร
แก้ไข:
นี่คือตัวอย่างจริงที่เป็นสาเหตุของสิ่งนี้:
sed -i 's/hello/gbye/g' *
sedเห็น "c" ในข้อมูลของคุณเป็นคำสั่ง คุณใช้ตัวแปรหรือไม่? โปรดโพสต์สิ่งที่แสดงคำสั่งจริงและข้อมูลที่คุณกำลังประมวลผลอย่างใกล้ชิดยิ่งขึ้นecho x | sed cคุณจะได้รับการสาธิตที่เรียบง่ายของข้อผิดพลาดนี้โดยการทำ