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

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 ca gsed?
  • 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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *