質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

Q&A

解決済

1回答

1172閲覧

awk:シングルクウォーテーションについて

yamada_ksks

総合スコア41

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

0グッド

0クリップ

投稿2020/06/14 12:53

OSはAmazonLinuxです。
下記よりawk後の引数にて、シングルクウォーテーションを付けた場合とつけない場合で
挙動が異なるのですがこちらはどうして挙動が異なるのでしょうか?

何か参考になるサイトなど教えていただけましたらうれしいです。

[ec2-user@ip-172-31-2-22 ch07]$ awk $1 == "192.168.0.37" {print $0} access.log | cut -d' ' -f7 | sort | uniq -c | sort -rn | head awk: == awk: ^ syntax error [ec2-user@ip-172-31-2-22 ch07]$ awk '$1 == "192.168.0.37" {print $0}' access.log | cut -d' ' -f7 | sort | uniq -c | sort -rn | head 14 /files/theme/plugin49c2.js?1490908488 14 /files/theme/mobile49c2.js?1490908488 14 /files/theme/custom49c2.js?1490908488 14 /files/main_styleaf0e.css?1509483497 3 /consulting.html 3 /_/cdn2.editmysite.com/images/editor/theme-background/stock/GW-bridge.html 3 /_/cdn2.editmysite.com/images/editor/theme-background/stock/Colaboration.html 3 /about.html 2 /uploads/2/9/1/4/29147191/99480889766.png?165 2 /uploads/2/9/1/4/29147191/32981bd4c.png?161

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2020/07/01 13:44

quotation クウォーテーション ↓ クォーテーション に直しませんか? 初心者が間違えて覚えて恥をかくと可哀相だし。
guest

回答1

0

ベストアンサー

理由は2点。
・シェルはコマンドラインを処理してからプログラムを起動します
・awkは第1引数をスクリプトとみなします。

$1は、シェルの第1引数を表します。対話型シェルの場合は普通は空なので、コマンドラインで$1を書いた場合は空になります。
なので、awk $1 == "192.168.0.37" ~~の場合、awkの第1引数は==で、これは有効なawkスクリプトじゃないので、awkの構文エラーになります。

awk '$1 == "192.168.0.37" {print $0}' access.logだと、awkの第1引数が$1 == "192.168.0.37" {print $0}なので、これがawkスクリプトとみなされて、エラーなく実行されます。

シングルクォートで囲んだものはその中の文字列を空白も含めて1つの文字列(一個の引数)とみなします。

投稿2020/06/14 13:14

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問