합리적인 sed는 어디에 있습니까?


11

요세미티에서. sed는 오래되었습니다. \t예를 들어 이해하지 못합니다 . 설치 했는데 동일한 제품을 coreutils찾을 수 없습니다 sed.

내 옵션은 무엇입니까?


4
-E옵션으로 스톡 OS X sed를 실행하는 경우을 수락해야합니다 \t. 자세한 내용은 re_format매뉴얼 페이지를 참조하십시오.
nwellnhof

그것은 해야 하지만, 그렇지 않습니다. 매버릭스의 echo -e 'foo\tbar' | sed -E 's/\t/blah/'수익률 foo bar10.9.5.
Will

답변:


11

gnu-sedcoreutils뿐만 아니라 를 설치해야합니다 .

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진술이 필요하지 않습니다 . Just brew install gnu-sedand it gsed
is

1
PATH문은이 명령을 사용할 수 있습니다 sed대신 gsed. 반드시 필요한 것은 아니지만 명령에 편지 g를 추가 할 필요는 없습니다 sed.
jherran

2
확실한. 그러나 이것은 sedBSD sed 를 기대 하는 프로그램을 방해 할 수 있습니다. 그것이 문제인지는 모르겠지만 문제가 될 것으로 예상됩니다. (osx 인 경우 bsdisms 인 경우)
neu242

alias sed=gsed프로필에서?
Kroltan

9

귀하의 질문에 태그가 지정 homebrew되어 있지만 MacPorts를 사용하는 독자에게는 sudo port install gsedGNU sed를 가져 오기 위해 실행하십시오 ( 포트 에서 gsed와 마찬가지로 명령으로 사용 가능 ).gfindfindutils


5

fink를 설치하십시오 . XCode가 아직 없으면 XCode가 필요합니다.

그런 다음 최신 sed (및 기타 유용한 것들)를 다음과 같이 설치하십시오.

fink install sed


thx, 나는 fink를
몰랐다

2
핑크는 꽤 오래되었습니다. 대신 Homebrew 를 추천 합니다.
neu242

2
@ neu242 어떻게 "오래된"문제입니까? 유닉스는 45 세이며 여전히 사용하고 있습니다. Fink 자체는 6 년으로 문제를 해결하기에 충분합니다. Fink (및 MacPorts) 패키지는 정기적으로 업데이트됩니다.
paul

@paul 오, 지난 10 년 동안 Fink를 사용하는 사람은 없었습니다. 여전히 사용할 수 있다고 들었습니다. :)
neu242
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.