合并文件并删除两个文本文件中相同的字符串

时间:2014-01-22 11:34:58

标签: awk merge

我在AWK中遇到一个代码问题。我想删除第二个文件中的字符串,它与第一个文件中的字符串相同。 例如:

第一个文件包含:

ACT
TTT
GTCA
CTG

第二个文件包含:

GGGGTTT
CTGAGT
GTCAAAA
TTAAACT

我想在第二档中输入:

GGGG
AGT
AAA
TTAA

1 个答案:

答案 0 :(得分:2)

awk '
    NR==FNR {patt[$1]; next} 
    {
        for (p in patt) 
            if ($1 ~ p) {
                sub(p,"",$1)
                break
            }
        print
    }
' file1 file2
GGGG
AGT
AAA
TTAA