ภายใต้ Mac OS 10.10.3 ฉันติดตั้ง gnu-sed โดยพิมพ์:
brew install gnu-sed --default-names
เมื่อฉันพิมพ์อีกครั้งฉันจะได้รับข้อความ:
gnu-sed-4.2.2 ติดตั้งแล้ว
อย่างไรก็ตามแม้ว่าจะรีบูตระบบและรีสตาร์ท Terminal ฉันก็ยังไม่สามารถใช้ sed เวอร์ชัน GNU ได้ ตัวอย่างเช่น:
echo a | sed ’s_A_X_i’
ผลตอบแทน: แฟล็กที่ไม่ถูกต้องในคำสั่งการแทนที่ 'i'
ฉันควรทำอย่างไรเพื่อให้เวอร์ชัน GNU ทำงานได้ นี่คือเส้นทางในตัวแปร $ PATH ของฉัน
/Users/WN/-myUnix
/opt/local/bin
/opt/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/calibre.app/Contents/MacOS
/opt/ImageMagick/bin
/usr/texbin
ฉันขอโทษหากคำถามของฉันดูเหมือนชัดเจน แต่ฉันกำลังเรียนรู้เชลล์สคริปต์ด้วยตัวเองและยังไม่ค่อยเข้าใจวิธีการติดตั้งโปรแกรม UNIX ความช่วยเหลือใด ๆ ในการใช้คำสั่งที่สอดคล้องกับ GNU (ในกรณีนี้คือ sed แต่ในไม่ช้าฉันก็ต้องการคนอื่นเช่นกัน) บน Mac ของฉันโดยไม่ทำให้เกิดความเสียหายหรือเกะกะโดยไม่จำเป็น
brew
ติดตั้ง GNUsed
? ไดเรกทอรีนั้นอยู่ในของคุณPATH
หรือไม่? คุณจะได้อะไรถ้าพิมพ์sed --version
? (BSDsed
จะบ่น; GNUsed
. จะรายงานข้อมูลเกี่ยวกับรุ่นของมัน) จนกว่าคุณจะมีbrew
ไดเรกทอรีบนเส้นทางของคุณก่อน/usr/bin
หรือคุณเรียนรู้ที่จะใช้ชื่อพา ธ ที่แน่นอนที่จะ GNU คุณจะไม่ได้รับการทำงานของกนูsed
sed
ระวังคำพูดด้วย เป็นคำพูดที่ประมวลผลคำซึ่งแตกต่างจาก’
'