grep、awk、sedの基本的なチュートリアルはありますか?[閉まっている]


95

私はしばらくの間Linuxユーザーであり、ほとんどの一般的なコマンドラインユーティリティをかなりよく理解しています。しかし、プログラミングに関連して、再び起動して出てくるものがありgrepawksed

私がgrepを使用した唯一のことは、ログファイル内のファイル、出力psなどを見つけるためにパイプを使用することです。私は使用していないawksed、まったく使用していません。これらのユーティリティの良いチュートリアルはありますか?



コンピューターで広く使用される前に、この概念を発明したロジックに関するKleeneのオリジナルの論文を読んでいつか学ぶことになると自分に言い聞かせているので、私は常に正規表現の学習を延期しました。
ixtmixilix

私はgvkvに同意します:これらを学ぶ必要があるなら、Perlを学ぶこともできます、それは何をしgrep、何sedをするawkか(そしてほぼ同じ方法で)そしてもっと多くのことをします。
reinierpost

私はいつもthegeekstuff.comが好きです。man90%の脚注のように感じる通常のページとは対照的に、彼らは例にまっすぐに切り込みます。
同型

回答:




11

私は、上の本を書いたsed- sedのために決定的なガイドを -つまり、チュートリアルが含まれています。また、完全にカバーsedだけでなく、関連するコマンドのようにgreptrheadtail。また、他の場所で見たよりもはるかに優れた正規表現を完全にカバーしています。

正規表現をしっかりと理解することは非常に重要であると私は同意します。またsed、より単純なタスク、より複雑なスクリプトにはすぐにあいまいになるのに最適であることに同意します。

awk時代遅れであることに反対し、その反対です。多くのUnixのようなもの(例:)vi、学習曲線がありますが、それだけの価値はあります。

awk代わりに使用するという提案に同意しませんgrep。私の経験では意味がありません。grepとても素晴らしくシンプルです。


第二に、grepあなたがそれを助けることができるなら、あなたは高速道路でトラクターをとってはいけません。そして、それもかなり良い本です-ありがとう。
mikeserv 14

3

O'Riellyによって発行されたRegular Expressions Cookbookは、それらを使用する任意の言語であなたをどこにでも連れて行くのに十分でしょう。


3

本の著者はカーニガンとパイクです。タイトルは「Unixプログラミング環境」のようなものです。

私が実際に学んだ本は、「Berkely Unix入門」と呼ばれていました。


2

これら3(grep、sedおよびawk)のうちの1つを学習する場合は、awk / gawkを学習するだけです。。awkはgrepとsedの機能を実行できます。つまり、正規表現を使用してテキストを検索/置換します。さらに、プログラミング言語でもあるため、さらに多くのことができます。gawk / awkの裏側を学べば、grep / sed / wc / cutなどを使用する必要はありません。たった1つのツールがそれを行います。


ああ、ところで、私たちはawkも必要としませんg++ -x c++ - -o /tmp/prog && /tmp/prog。コマンドを使用して入力するだけです。すべてを支配する1つのツール!:-)
ライライアン

1
バイナリをファイルに直接書き込むことができる場合、コンパイラが必要なのは誰ですか?あなたが怠feelingだと感じているなら、猫はするか、エドします。
cas

1

私の意見では、awkは多かれ少なかれ時代遅れです(ただし、他の人はこの意見を強く主張します)。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}'
スティーブンD

1
職場や自宅では、sedよりもawkを頻繁に使用しています。dpkg -l出力のように、固定された表形式のデータではawkに勝るものはありません。リモートで複雑なことは何もしませんが、awkのない短いツールになります。私はそれらのいくつかが好きである限り、より一般的なプログラミング言語についても同じことを言えません。
JMベッカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.