명령줄에서 실행할 가장 기본적인 sed 명령을 얻을 수 없습니다.

명령줄에서 실행할 가장 기본적인 sed 명령을 얻을 수 없습니다.

완전 뉴비가 된 기분이에요. 왜 이것이 작동하지 않습니까?

$ echo foobar > textfile
$ sed /foo/bar/ textfile
sed: can't find label for jump to `ar/'

나는 또한 시도했고 sed "/foo/bar/" textfile모두 sed '/foo/bar/' textfile동일한 오류가 발생했습니다.

bash를 통해 ubuntu 8.04 및 GNU sed 버전 4.1.5를 사용합니다.

답변1

이 시도: sed 's/foo/bar/' textfile.

  • 진술 주변의 인용문은 좋은 습관입니다.
  • s대체용. 실행하려는 명령입니다. foo검색어는 bar대체입니다.

sed 온라인에는 많은 정보가 있습니다. 예:http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

답변2

sed명령을 내려야 합니다 . 그것은 당신이 제공한 것을 검색 패턴으로 분석한 /foo/다음 명령 b ar/(레이블로 분기 ar/)을 수행합니다. 아마도 's/foo/bar/'는 모든 줄에서 첫 번째 인스턴스를 foowith로 바꾸는 것을 의미했을 것입니다.bar

관련 정보