awkの使用を開始する方法
awk、sed、およびgrepは、LinuxまたはUNIXコマンドラインで私のお気に入りのツールの3つです。それらはすべてかなり強力です。今日は、awkを使いやすくするためにawkでクラッキングを行う方法を見ていきます。次に、物事をもう少し楽しくするための便利なawkワンライナーをいくつか見ていきます。
AWKは、ファイルまたはデータストリームのいずれかでテキストベースのデータを処理するために設計されたプログラミング言語です。 1970年代にベル研究所で作成されました。かなり古いですが、その年齢に騙されないでください。それはそれが何をするかで非常に強力で効率的です。さあ、手を汚しましょう。
awkの複雑な動作と使用法について詳しく説明する前に、awkの基本を始めましょう。この演習では、ダミーファイルを作成して使用します。システムからのログなど、ほとんどすべてのテキストファイルを使用できます。お気に入りのシステム監視ツールの1つであるDstatからのサンプル出力を使用します。出力は次のとおりです:
クリックして拡大
これは、awkが処理するための理想的な出力です。 awkは、コンマまたはタブ区切りのコンテンツに最適です。理由はすぐにわかります。したがって、同様のデータを作成するか、上記の例をコピーしてtest.txtなどのダミーファイルに貼り付けます。 Linuxコンピュータでターミナルウィンドウを起動します。 Linuxのほとんどすべてのフレーバーにはawkが付属しています。なんらかの理由でないものを見つけた場合は、インストールしてください。ターミナルウィンドウで、test.txtファイルを保存したディレクトリから次のように入力します–
#awk {‘print’} test.txt
出力には、テキストファイルの内容全体が含まれている必要があります。その面白さは何ですか。
次に、列を選択してその列だけを印刷する方法を見てみましょう。次のコマンドを実行します。
#awk {‘print $ 1’} test.txt
ここで、テキストファイルの最初の列だけを印刷するようにawkに要求しています。ファイルがタブ区切りファイルであることが自動的に認識され、コンテンツの最初の列だけが印刷されます。出力には次のようなものが表示されます:
—-total-cpu-usage —-
usr
5
13
8
0
1
1
1
0
1
1
好きな列でも同じことができます。 awkで上記の3番目の列の変更コマンドを次のコマンドに出力する場合:
#awk {‘print $ 3’} test.txt
awkに複数の列を印刷させることもできます。したがって、1列目、3列目、および7列目を印刷する場合は、コンマで区切ってコマンドに追加します。
#awk {‘print $ 1、$ 3、$ 7′} test.txt
あなたのためにトリックをするでしょう:
—-total-cpu-usage--net / total-
usr idl read
5 93 154k
13 87 0
8 92 0
0 99 0
1 97 0
1 98 0
1 99 0
0 99 0
1 99 0
1 100 0
/ etc / passwordファイルのように、データがスペースやタブではなくコロンで区切られているトリッキーなファイルがある場合、awkはそれを自動的に取得しません。このような場合、正しいセパレーターを使用してawkにフィードできます。次のようなコマンドを使用して、ファイルの2番目の列を出力します。
#awk -F’:’ {‘print $ 1’} / etc / passwd
このコマンドは、システム上のすべてのユーザーのユーザー名を出力します。
アップル
マンゴー
バナナ
スイカ
キウイ
オレンジ
他のタイプのセパレーターでも同じことができます。 awkを使用してログファイルを解析することもできます。たとえば、WebサーバーでアクセスされたすべてのIPアドレスと関連するWeb URLを表示する場合は、awkを使用してWebサーバーのアクセスログを解析し、この情報を取得できます。次のコマンドを使用します:
#awk‘$ 9 ==200 {print $ 1、$ 7}’ access.log
199.63.142.250 / 2008/10 / my-5-favourite-hangouts /
220.180.94.221 / 2009/02 / querious-a-mysql-client-for-the-mac /
67.190.114.46 / 2009/05 /
173.234.43.110 / 2009/01 / bicycle-rental /
173.234.38.110 /wp-comments-post.php
このような解析を使用すると、誰かが情報を盗んでいる可能性があるため、誰かがあなたのWebサイトに頻繁にアクセスしているかどうかを判断できます。この情報を並べ替えることもできます。特定のIPアドレスがWebサイトにアクセスした回数を知りたいとします
#awk‘$ 9 ==200 {print $ 1}’ access.log |並べ替え| uniq -c | sort -nr
46 122.248.161.1
35 122.248.161.2
26 65.202.21.10
24 67.195.111.46
19 144.36.231.111
18 59.183.121.71
-
SvnX を使用して Subversion を開始する
開発者は、バージョン管理ソフトウェアを使用してコードの変更を追跡できます。これは、チームの一員として作業しているプロジェクトでは不可欠であり、発生した変更を追跡できます。 GIT などのサービスは、特にオープンソース ソフトウェアで人気がありますが、Subversion (SVN) などの代替サービスは、より詳細な制御を提供します。 さまざまな SVN クライアントが存在しますが、Mac ユーザーにとって一般的なオプションは SvnX です。このシンプルで無料のオープンソース Mac SVN クライアントに初めて触れたのは 10 年以上前で、それ以来、多くの新機能と変更点に飛び込んでいます。
-
Parallels を使用して Mac で Windows を入手するには?
両方のプラットフォームを頻繁に使用する場合、Mac で Windows OS とアプリを使用すると便利です。 Mac はユーザーに敵対的であると言われているため、これがどのように可能であるかを考える必要があります。まあ、それを可能にするアプリがあります。 Mac で Windows を使用する最も一般的な方法の 1 つは、Parallels を使用することです。 Parallels を使用して Mac で Windows を入手する簡単な手順 Mac コンピューターを使用していて、重要な Windows アプリの一部を同じ画面で実行したい場合、Parallels はその目的を解決します。この