Folosesc oh zsh. Nu sunt capabil să folosesc câteva comenzi pe care le-aș putea face pe Ubuntu, de exemplu .. \ s în expresii regulate. Am instalat home-brew și apoi brew install gnu-sed --default-names
dar totuși nu pot folosi comanda sed. Variabila mea $ PATH este cam încurcată și nu sunt sigur cum să o corectez.
/Users/ishansrivastava/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin:/opt/X11/bin:/Library/TeX/texbin
Ce ar trebui să fac pentru a putea folosi toate comenzile gnu fără probleme pe Mac-ul meu? De asemenea, vă rog să-mi dați lista comenzilor pe care trebuie să folosesc comanda gnu în loc de implicit, de ex. gsed
în loc de sed
etc.
Comentarii
- Corelat: stackoverflow.com/questions/30003570 / …
Răspuns
După cum sa menționat într-o altă întrebare , dacă instalați GNU sed
utilizând Homebrew cu --with-default-names
, apoi este instalat ca /usr/local/bin/sed
.
Fără --with-default-names
, va fi instalat ca /usr/local/bin/gsed
.
Dacă este instalat ca sed
, atunci depinde de $PATH
ce sed
binarul este preluat când executați sed
. Dacă $PATH
este așa cum ați descris, atunci GNU sed
ar trebui să aibă prioritate față de macOS-ul nativ sed
.
Rețineți că este posibil ca shell-ul să fi stocat în cache locația comenzii sed
dacă ați folosit deja comanda pe linia de comandă în același sesiune de shell. Puteți utiliza apoi rehash
în zsh
pentru a goli cache-ul respectiv sau pentru a deschide un terminal nou.
Când un sistem oferă o implementare nativă sed
care nu este GNU sed
, atunci este adesea mai bine să instalați GNU sed
ca gsed
pentru a nu rupe scripturile existente bazându-se pe un comportament specific sed
nativ. Acesta este motivul pentru care comportamentul implicit cu Homebrew pe macOS este instalarea GNU sed
ca gsed
. Acesta este și modul implicit de a denumi GNU sed
(și instrumentele GNU în general) pe alte sisteme BSD.
Comentarii
- l-am rezolvat. Se pare că a fost instalat în
usr/local/Cellar/gnu-sed/4.4/bin
. Am adăugat la cale. Totuși mi-aș fi dorit să folosesc gsed în loc să schimb ceea ce a făcut sedul meu real. - @IshanSrivastava Nu ' nu sunt utilizator Homebrew, dar nu ' t instalarea fără
--with-default-names
vă permite să utilizați GNU Sed cagsed
? - l-am instalat cu nume implicite. în sfârșit te prind. îmi pare rău pentru deranj. dar de ce s-a instalat pe o cale atât de ciudată ca a mea?
- @IshanSrivastava Câteva informații aici: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html