0

a.txt と b.txt の 2 つのファイルがあり、どちらも 1 行に 1 つずつ数字で構成されています。私がやろうとしているのは、a.txt から各番号を読み取り、b.txt で検索することです。awkこれが私が書いたスクリプトファイルです。このsearch.awkファイルを次のように実行できます。

awk -f search.awk a.txt 

しかし、b.txt の各番号を検索するにはどうすればよいでしょうか。

#!/bin/awk -f

{
    print $1
    # how to search for $1 in b.txt?
}

アップデート

検索するファイルが1つだけではなく、a.txt の各番号に対して検索するディレクトリに複数のファイルがある場合はどうなりますか? つまり、a_dir/*a.txt の各番号に対してこれらすべてのファイルを検索しますか?

4

2 に答える 2

2

のコード例:

awk 'NR==FNR {a[$1]=$1;next} $1==a[$1] && $1!=""' a.txt b.txt

$猫a.txt
1
3
5
7
9
11
13

$猫b.txt
1
4
7
10
13

$ cat c.txt
3
11

$ awk 'NR==FNR {a[$1]=$1;next} $1==a[$1] && $1!=""' a.txt b.txt c.txt
1
7
13
3
11
于 2013-07-07T11:04:09.567 に答える