it-swarm-vi.com

Có một hướng dẫn cơ bản cho grep, awk và sed?

Tôi đã là người dùng Linux được một thời gian và tôi hiểu khá rõ về hầu hết các tiện ích dòng lệnh phổ biến. Tuy nhiên, những thứ xuất hiện liên quan đến lập trình là grep, awksed.

Về điều duy nhất tôi đã sử dụng grep cho là đưa các thứ vào đó để tìm tệp trong tệp nhật ký, đầu ra của ps v.v. Tôi chưa sử dụng awk hoặc sed ở tất cả. Có bất kỳ hướng dẫn tốt cho các tiện ích này?

98
Macha

AWK đặc biệt phù hợp với dữ liệu dạng bảng và có đường cong học tập thấp hơn so với một số lựa chọn thay thế.

AWK: Hướng dẫn và Giới thiệ

Một Primer AWK ( liên kết alt )

RoutExpressions.info

hướng dẫn sed

hướng dẫn grep

info sed, info grepinfo awk hoặc là info gawk

Cuốn sách O'Reilly sed và awk là cuốn sách tuyệt vời cho er sed và awk.

19
user591

Tôi đã viết một cuốn sách về sed Khác Hướng dẫn dứt khoát về sed - bao gồm một hướng dẫn. Nó bao gồm đầy đủ sed, cũng như các lệnh liên quan như grep, tr, headtail. Cũng bao gồm đầy đủ các biểu thức thông thường tốt hơn nhiều so với tôi đã thấy ở nơi khác.

Tôi đồng ý với những người khác rằng việc hiểu rõ các biểu thức chính quy là rất quan trọng. Tôi cũng đồng ý rằng sed được sử dụng tốt nhất cho các tác vụ đơn giản hơn, các tập lệnh phức tạp hơn nhanh chóng bị che khuất.

Tôi không đồng ý rằng awk đã lỗi thời, ngược lại. Nó giống như nhiều thứ unix (ví dụ: vi), có một đường cong học tập, nhưng nó đáng giá.

Tôi không đồng ý với đề xuất sử dụng awk thay cho grep. Không có ý nghĩa trong kinh nghiệm của tôi. grep thật tuyệt vời và đơn giản.

11
Daniel Goldman

Sách dạy nấu ăn thông thường được xuất bản bởi O'Rielly sẽ đủ để đưa bạn đến bất cứ nơi nào bằng bất kỳ ngôn ngữ nào sử dụng chúng.

3
ixtmixilix

Các tác giả của cuốn sách là Kernighan và Pike, tiêu đề giống như "Môi trường lập trình Unix".

Cuốn sách mà tôi thực sự học được có tên là "Giới thiệu về Berkeley Unix".

3
HandyGandy

Nếu bạn học một trong 3 điều này (grep, sed và awk), bạn có thể học awk/gawk. . awk có thể thực hiện các chức năng của grep và sed, tức là sử dụng regex để tìm kiếm/thay thế văn bản, cộng với nhiều hơn nữa vì đây cũng là ngôn ngữ lập trình. Nếu bạn học được phần bên trong của gawk/awk, bạn sẽ không cần sử dụng grep/sed/wc/cut, v.v. Chỉ cần một công cụ thực hiện.

2
user1606

Theo tôi, awk ít nhiều đã lỗi thời (tuy nhiên, những người khác sẽ phản bác mạnh mẽ ý kiến ​​này), hầu hết mọi người tôi biết hiện nay thay vì sử dụng một số ngôn ngữ script như Perl hoặc ngày nay thường python để thao tác văn bản nâng cao . sed là tuyệt vời cho các tác vụ thao tác văn bản đơn giản hơn, tôi sử dụng nó mọi lúc. Tôi đã học nó chủ yếu bằng cách xem sed một lớp như những người trong http://sed.sourceforge.net/sed1line.txt =. Về grep: Về cơ bản, bạn muốn có được sự hiểu biết vững chắc về các biểu thức thông thường (cũng cần cho sed). Ở đây tôi chỉ sử dụng các hướng dẫn sử dụng texinfo.

1
fschmitt