出産前後の痔にはご注意!

sample.txt ファイルには
  "中村" "08/01/80" "03.1234.5678"
  "木村" "08/01/81" "06.1252.2536"
のような情報があります。
そこの3番フィールドが電話番号ですので、awkで検索しようと思っています。

それで、
awk -v ARGU="$NUM" '
{
VAR=substr($3,2,(length($3)-2))
if ( ARGU == VAR ) {print}
}' /sample.txt
のようにして、検索をかけようとしましたが、できません。

どこが間違っているのか教えてください。

awkの他の方法があるとか、違うもの(sed or grep)でできるのであれば、お願いします。

A 回答 (2件)

お書きになった内容では、3番目のフィールドから「"」を取り除いた内容(VAR)と何を比較しているのか分かりません。


比較対象ARGU($NUM)に何が設定されているのでしょうか?

if文の前あたりにprintf文でARGUとVARの内容を表示するようにしたらおそらく何が悪いのかわかるのでは?

それと入力ファイルであるsample.txtですが

>  "中村" "08/01/80" "03.1234.5678"
>  "木村" "08/01/81" "06.1252.2536"

の内容が入っているようですがこれはファイルの中身をそのまま貼ったのでしょうか?
つまり、スペース部分が全角スペースのようですがファイルの内容も全角スペースという事はないですよね?
    • good
    • 0

ファイルの方には「”」が入っていますが,検索入力は 「”」を入れてないのでは?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング