ความเหมาะสมอยู่ที่ไหน


11

บนโยเซมิตี รุ่นเก่า: ไม่เข้าใจ\tตัวอย่างเช่น ฉันติดตั้งcoreutilsแล้วและไม่พบสิ่งที่sedเกี่ยวข้องด้วยเหมือนกัน

ตัวเลือกของฉันที่นี่มีอะไรบ้าง


4
ถ้าคุณเรียกหุ้น OS X sed กับตัวเลือกก็ควรจะยอมรับ-E \tดูre_formatหน้าคนสำหรับรายละเอียด
nwellnhof

มันควรแต่ไม่ echo -e 'foo\tbar' | sed -E 's/\t/blah/'ผลตอบแทนของfoo barMavericks 10.9.5
จะ

คำตอบ:


11

คุณต้องติดตั้งgnu-sedไม่ใช่แค่ coreutils:

brew install gnu-sed

จากนั้นคุณต้องเพิ่มบรรทัดต่อไปนี้ใน.bash_profile:

export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/gnu-sed/libexec/gnuman:$MANPATH"

sedเวอร์ชันของคุณควรเป็นเวอร์ชันล่าสุด:

$ sed --version
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Jay Fenlason, Tom Lord, Ken Pizzini,
and Paolo Bonzini.
GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-sed@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

1
คุณไม่จำเป็นต้องมีPATHงบ เพียงbrew install gnu-sedและมันจะสามารถใช้ได้เป็นgsed
neu242

1
PATHงบช่วยให้คุณสามารถใช้คำสั่งแทนsed gsedไม่จำเป็น แต่คุณไม่จำเป็นต้องจำที่จะต่อท้ายคำสั่งgของคุณ sed
jherran

2
แน่ใจ แต่นั่นอาจรบกวนโปรแกรมที่คาดว่าsedจะเป็น BSD ฉันไม่รู้ว่าเป็นปัญหาหรือไม่ แต่ฉันคาดหวังว่ามันจะเป็น (ถ้า osx เป็น bsdisms)
neu242

alias sed=gsedในโปรไฟล์หรืออาจ?
Kroltan

9

คำถามของคุณถูกแท็กhomebrewแต่สำหรับผู้อ่านที่ใช้ MacPorts: เรียกใช้sudo port install gsedเพื่อรับ GNU sed (สามารถใช้ได้กับgsedคำสั่งคล้ายกับgfindในfindutilsพอร์ต)


5

ติดตั้งfink คุณจะต้องใช้ XCode ถ้าคุณยังไม่ได้รับมัน

จากนั้นติดตั้ง sed ล่าสุด (และสิ่งที่มีประโยชน์อื่น ๆ อีกมากมาย) เช่นนี้:

fink install sed


ขอบคุณฉันไม่ได้ตระหนักถึงตำรวจ
javadba

2
ตำรวจเริ่มแก่ขึ้นแล้ว ฉันแนะนำHomebrewแทน
neu242

2
@ neu242 ปัญหา "เก่า" เป็นอย่างไร? Unix อายุ 45 ปีและเรายังคงใช้อยู่ ตำรวจนั้นมีระยะเวลา 6 ปีนานพอสำหรับปัญหาที่จะถูกรีดออก แพ็คเกจ Fink (และ MacPort) ได้รับการอัปเดตเป็นประจำ
พอล

@ พอลฉันไม่เคยพบใครใช้ Fink ในช่วง 10 ปีที่ผ่านมา ดีใจที่ได้ยินว่ายังใช้งานได้! :)
neu242
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.