grep, awk 및 sed에 대한 기본 자습서가 있습니까? [닫은]


95

나는 한동안 리눅스 사용자였으며 대부분의 일반적인 명령 줄 유틸리티에 대해 꽤 잘 알고 있습니다. 그러나, 프로그래밍과 관련하여 다시와 올 사람은 grep, awk하고 sed.

내가 grep을 사용한 유일한 것은 로그 파일에서 파일을 찾기 위해 물건을 파이핑하는 것, ps내가 사용하지 않았 awk거나 전혀 사용하지 않은 출력 등 sed입니다. 이러한 유틸리티에 대한 유용한 자습서가 있습니까?



언젠가 컴퓨터에서 널리 사용되기 전에 개념을 발명 한 논리에 대한 Kleene의 원본 논문을 읽고 언젠가 그것을 배우겠다고 말했기 때문에 나는 항상 정규 표현식 학습을 중단했습니다.
ixtmixilix

나는 gvkv에 동의합니다 : 당신이 이것들을 배울 필요가 있다면, 당신은 Perl을 배울 것입니다, 그것은 무엇 grepsed하고 awk(그리고 거의 같은 방식으로) 그리고 훨씬 더 많은 것을합니다.
reinierpost

나는 항상 thegeekstuff.com을 좋아합니다. man90 %의 각주처럼 느껴지는 일반적인 페이지 와 달리 예제를 그대로 사용했습니다 .
isomorphismes

답변:



19

오라일리의 sed and awk 책은 sed와 awk에게 좋습니다.


11

나는에 관한 책을 썼다 sed- 나오지도 할 확실한 가이드 - 그건이 튜토리얼이 포함되어 있습니다. 그것은 완벽하게 커버 sed뿐만 아니라 같은 관련 명령 grep, tr, headtail. 또한 다른 곳에서 본 것보다 훨씬 더 나은 정규 표현식을 다룹니다.

나는 정규 표현식을 제대로 이해하는 것이 매우 중요하다는 다른 사람들의 의견에 동의합니다. 또한 sed더 간단한 작업에 가장 적합하며 더 복잡한 스크립트는 빨리 모호해집니다.

나는 awk그 반대 인 구식에 동의하지 않습니다. 그것은 많은 유닉스 것들과 같습니다 (예 :) vi, 학습 곡선이 있지만 그만한 가치가 있습니다.

awk대신 사용할 제안에 동의하지 않습니다 grep. 내 경험으로는 이해가되지 않습니다. grep너무 크고 간단합니다.


나는 두 번째로 grep-당신이 그것을 도울 수 있다면 고속도로에서 트랙터를 가져 가지 마십시오. 그리고 그것도 꽤 좋은 책입니다-감사합니다.
mikeserv

3

O'Rielly가 발행 한 정규식 요리 책은 그 언어를 사용하는 어느 언어로든 당신을 데려 가기에 충분합니다.


3

이 책의 저자는 Kernigan이고 Pike의 제목은 "The Unix Programming Environment"와 같습니다.

제가 실제로 배운 책은 "버클리 유닉스 소개"라고 불 렸습니다.


2

이 3 (grep, sed 및 awk) 중 하나를 배우려면 awk / gawk를 배울 수 있습니다 . . awk는 grep과 sed의 기능을 수행 할 수 있습니다. 즉, 정규식을 사용하여 텍스트를 검색 / 대체하고 프로그래밍 언어이기 때문에 훨씬 더 많은 기능을 수행 할 수 있습니다. gawk / awk의 내부를 배우면 grep / sed / wc / cut 등을 사용할 필요가 없습니다. 도구 하나만 사용하면됩니다.


오, btw, 우리는 awk가 필요하지 않습니다 g++ -x c++ - -o /tmp/prog && /tmp/prog. 명령을 사용 하고 입력 하면 됩니다. 그들 모두를 지배하는 하나의 도구! :-)
Lie Ryan

1
바이너리를 파일에 바로 쓸 수있을 때 누가 컴파일러를 필요로합니까? 게으른 기분이라면 고양이가 할 것입니다.
cas

1

내 의견으로는, awk는 다소 쓸모가 없지만 (그러나 다른 사람들은이 의견을 강력하게 주장 할 것입니다.) 요즘 내가 아는 대부분의 사람들은 대신 고급 텍스트 조작을 위해 perl 또는 오늘날 파이썬과 같은 스크립트 언어를 사용합니다. sed는 간단한 텍스트 조작 작업에 적합하며 항상 사용합니다. 나는 주로 http://sed.sourceforge.net/sed1line.txt 와 같은 sed one-liners를 보면서 그것을 배웠습니다 . grep 관련 : 글쎄, 기본적으로 정규 표현식 (sed에도 필요함)에 대한 확실한 이해를 원합니다. 방금 texinfo 매뉴얼을 사용했습니다.


10
awk는 다른 명령에서 파이프 된 데이터를 조작하는 데 여전히 매우 유용합니다. 간단한 명령 줄 사용법을 위해, 나는 그것이 아직 쓸모없는 것으로 간주하지 않을 것입니다.
MaQleod

또한 POSIX로 인해 많은 시스템에서 사용 가능해야합니다.
echox

1
대부분의 '고급 AWK'는 아마도 perl이나 python 또는 그 밖의 다른 것들로 더 잘 수행 될 수 있지만 간단한 것들은 단지 awk와 관련이 있습니다.
user455

1
Awk는 문제를 해결할 때 온라인에서 찾을 수있는 다양한 답변을 이해하는 데 여전히 유용합니다. 종종 awk 문을 사용하는 예제를 온라인에서 찾을 수 있습니다 awk '{print $3}'.
Steven D

1
직장과 집에서 나는 sed를 자주 사용합니다. dpkg -l출력 과 같은 고정 된 표 형식 데이터에서는 아무것도 이길 수 없습니다 . 나는 원격으로 복잡한 일을하지는 않지만 awk가없는 도구는 짧을 것입니다. 좀 더 일반적인 프로그래밍 언어에 대해서도 같은 것을 말할 수는 없습니다.
JM Becker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.