Як встановити GNU-sed?


1

Я намагаюся встановити GNU sed. Після цієї посади я і зробив

brew install gnu-sed

Апріорі це пішло нормально, але потім команда gsedне знайдена. Я не міг знайти жодного gnu-sed(або еквівалента), /usr/local/bin/крім стандартного sed.

Я на Mac OS X 10.11.3


Спробуйте використовувати, findщоб знайти його. У Терміналі використовуйте таку команду:find /usr -type f -name *sed
user3439894

Шукаючи цей спосіб і вибираючи ті, що містять цей термін gnu, я знайшов /usr/local/Cellar/gnu-sed/4.2.2/bin/sed. Чи варто просто перемістити цей файл до /usr/local/bin/? Спасибі
Remi.b

Версія OS X BSD повинна бути /usr/bin/sed, тому я не бачу причин, чому ви не можете скопіювати / перемістити версію GNU /usr/local/bin/. Сказане, залежно від того, що є у вас PATHпершим, - це те, що буде запущено, якщо ви не зробите щось для розмежування двох. Можливо, зателефонуйте у версію GNU gsed.
користувач3439894

Повинен чи я просто перейменувати файл , sedщоб gsedперейменувати команду?
Remi.b

Ім'я файлу та ім'я команди - це одне і те ж, тож ви можете перейменувати файл чи ні, це залежить від вас. Ви також можете просто залишити файл там, де він є, і створити до нього символьне посилання, назване яким би ви не хотіли. Якщо ви залишите іменованих, sedі обидва знаходяться в PATH, тоді один збирається перебігти інший на основі PATH. Якщо ви не розумієте, про що я говорю, то вам потрібно зробити гуглінг.
користувач3439894

Відповіді:


4

Здавалося б, brewпроцес зв’язку не вдало зв’язався з підвалу на /usr/local/bin.

Спочатку перевіримо, чи він встановлений. Спробуйте, brew listі ви отримаєте список встановлених формул. Якщо gnu-sedтам, то встановлено нормально. Якщо ні, то біжіть brew install gnu-sedще раз, і вам повинно бути гаразд.

Якщо він є у списку, то спробуйте пов’язати його та подивіться, який результат ви отримаєте. brew link gnu-sedзробимо це. Це повинно бути добре зв’язане, і ви будете вимкнено і працювати.


Дякую. Я зробив, як ти сказав. Я також від’єднав зв'язаний gnu-sed ( brew unlink gnu-sed && brew link gnu-sed) і отримав Unlinking /usr/local/Cellar/gnu-sed/4.2.2... 3 symlinks removed;Linking /usr/local/Cellar/gnu-sed/4.2.2... 3 symlinks created. Однак команди gnu-sedі gsedдосі не знайдені, і я не думаю, що sedкоманда була замінена.
Remi.b

Ви впевнені, що /usr/local/binце у вас PATH?
Тоні Вільямс

Коли я це echo $PATHотримую, /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbinце здається досить поганим. Усі інші команди bash працюють добре.
Remi.b

Гаразд, ваш ПАТ у порядку. Чи існує / usr / local / bin / gsed? Що станеться, якщо ви cd /usr/local/binі тоді ln ../Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/gsed?
Тоні Вільямс

/usr/local/bin/gsedне існує. Я тільки маю /usr/local/bin/sed. /usr/local/Cellar/gnu-sed/4.2.2/bin/gsedтакож не існує. lnТому ваша команда повертається No such file or directory. Дякуємо, що не відставали від мого питання :)
Remi.b
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.