나는 한동안 리눅스 사용자였으며 대부분의 일반적인 명령 줄 유틸리티에 대해 꽤 잘 알고 있습니다. 그러나, 프로그래밍과 관련하여 다시와 올 사람은 grep, awk하고 sed.
내가 grep을 사용한 유일한 것은 로그 파일에서 파일을 찾기 위해 물건을 파이핑하는 것, ps내가 사용하지 않았 awk거나 전혀 사용하지 않은 출력 등 sed입니다. 이러한 유틸리티에 대한 유용한 자습서가 있습니까?
답변
AWK는 특히 테이블 형식 데이터에 적합하며 일부 대안보다 학습 곡선이 낮습니다.
info sed, info grep및 info awk또는info gawk
답변
오라일리의 sed and awk 책은 sed와 awk에게 좋습니다.
답변
나는에 관한 책을 썼다 sed– 나오지도 할 확실한 가이드 – 그건이 튜토리얼이 포함되어 있습니다. 그것은 완벽하게 커버 sed뿐만 아니라 같은 관련 명령 grep, tr, head와 tail. 또한 다른 곳에서 본 것보다 훨씬 더 나은 정규 표현식을 다룹니다.
나는 정규 표현식을 제대로 이해하는 것이 매우 중요하다는 다른 사람들의 의견에 동의합니다. 또한 sed더 간단한 작업에 가장 적합하며 더 복잡한 스크립트는 빨리 모호해집니다.
나는 awk그 반대 인 구식에 동의하지 않습니다. 그것은 많은 유닉스 것들과 같습니다 (예 🙂 vi, 학습 곡선이 있지만 그만한 가치가 있습니다.
awk대신 사용할 제안에 동의하지 않습니다 grep. 내 경험으로는 이해가되지 않습니다. grep너무 크고 간단합니다.
답변
O’Rielly가 발행 한 정규식 요리 책은 그 언어를 사용하는 어느 언어로든 당신을 데려 가기에 충분합니다.
답변
이 책의 저자는 Kernigan이고 Pike의 제목은 “The Unix Programming Environment”와 같습니다.
제가 실제로 배운 책은 “버클리 유닉스 소개”라고 불 렸습니다.
답변
이 3 (grep, sed 및 awk) 중 하나를 배우려면 awk / gawk를 배울 수 있습니다 . . awk는 grep과 sed의 기능을 수행 할 수 있습니다. 즉, 정규식을 사용하여 텍스트를 검색 / 대체하고 프로그래밍 언어이기 때문에 훨씬 더 많은 기능을 수행 할 수 있습니다. gawk / awk의 내부를 배우면 grep / sed / wc / cut 등을 사용할 필요가 없습니다. 도구 하나만 사용하면됩니다.
답변
내 의견으로는, awk는 다소 쓸모가 없지만 (그러나 다른 사람들은이 의견을 강력하게 주장 할 것입니다.) 요즘 내가 아는 대부분의 사람들은 대신 고급 텍스트 조작을 위해 perl 또는 오늘날 파이썬과 같은 스크립트 언어를 사용합니다. sed는 간단한 텍스트 조작 작업에 적합하며 항상 사용합니다. 나는 주로 http://sed.sourceforge.net/sed1line.txt 와 같은 sed one-liners를 보면서 그것을 배웠습니다 . grep 관련 : 글쎄, 기본적으로 정규 표현식 (sed에도 필요함)에 대한 확실한 이해를 원합니다. 방금 texinfo 매뉴얼을 사용했습니다.