gsed: Homebrew를 사용하는 macOS에서 명령을 찾을 수 없습니다.

gsed: Homebrew를 사용하는 macOS에서 명령을 찾을 수 없습니다.

저는 oh my zsh를 사용하고 있습니다. 우분투에서 실행할 수 있는 일부 명령을 사용할 수 없습니다. 정규식에서는 \s입니다. home-brew를 설치했지만 brew install gnu-sed --default-names여전히 sed 명령을 사용할 수 없습니다. 내 $PATH 변수가 약간 엉망이어서 어떻게 수정해야 할지 모르겠습니다.

/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

Mac에서 모든 gnu 명령을 쉽게 사용하려면 어떻게 해야 합니까? 또한 기본 명령 대신 gnu 명령을 사용해야 하는 명령 목록을 알려주십시오. 기다리는 gsed대신sed

답변1

상술 한 바와 같이다른 질문에, sedHomebrew를 사용하여 GNU를 설치하는 --with-default-names경우 /usr/local/bin/sed.

그렇지 않은 경우 --with-default-names로 설치됩니다 /usr/local/bin/gsed.

다음 과 같이 설치된 경우 sed실행 시 얻는 바이너리에 따라 달라집니다 $PATH. 상황이 설명과 같다면 GNU가 기본 macOS보다 우선해야 합니다.sedsed$PATHsedsed

sed이전에 동일한 셸 세션의 명령줄에서 이 명령을 사용한 경우 셸이 명령 위치를 캐시했을 수 있습니다. 그런 다음 rehashin 을 사용하여 해당 캐시를 지우 zsh거나 새 터미널을 열 수 있습니다.

시스템이 sedGNU가 아닌 기본 구현을 제공하는 경우 일반적 으로 기본 동작에 의존하는 기존 스크립트가 손상되지 않도록 sedGNU를 설치하는 것이 가장 좋습니다 . 이것이 macOS에서 Homebrew의 기본 동작이 GNU 를 .sedgsedsedsedgsedsed

관련 정보