Linux 我有两个文件。我想列出一个文本文件中不在另一个文本文件中的内容

Linux 我有两个文件。我想列出一个文本文件中不在另一个文本文件中的内容,linux,Linux,比如说, 名为ppcc.txt的文本文件的内容包括: SUBSCRIBERIDENTIFIER|234818624|2000018 SUBSCRIBERIDENTIFIER|234817904|5098596 SUBSCRIBERIDENTIFIER|234908279|5093267 SUBSCRIBERIDENTIFIER|234908023|VOIPBurn SUBSCRIBERIDENTIFIER|234909392|VOIPBurn 另一个名为pcs.txt的文件的内容为: 2348

比如说,

名为ppcc.txt的文本文件的内容包括:

SUBSCRIBERIDENTIFIER|234818624|2000018
SUBSCRIBERIDENTIFIER|234817904|5098596
SUBSCRIBERIDENTIFIER|234908279|5093267
SUBSCRIBERIDENTIFIER|234908023|VOIPBurn
SUBSCRIBERIDENTIFIER|234909392|VOIPBurn
另一个名为pcs.txt的文件的内容为:

234818947|1754261815|20370101000000
234809110|358155618|20370101000000
234809417|1385298890|20361231230000
234908023|1381142974|20171124205011
234909392|358155618|20370101000000
我正在按234号搜索,我希望我的输出以Result.txt的形式保存在另一个文本文件中,内容如下:

SUBSCRIBERIDENTIFIER|234818624|2000018
SUBSCRIBERIDENTIFIER|234817904|5098596
SUBSCRIBERIDENTIFIER|234908279|5093267
使用
awk

awk 'BEGIN{FS=OFS="|"}FNR==NR{a[$1]=1;next} !($2 in a)' pcs.txt ppcc.txt
我们正在读取两个文件,首先是
pcs.txt
,然后是
ppcc.txt
。节目说明:

# Set input and output field delimiter to |
BEGIN{FS=OFS="|"}

# As long as FNR (record number in current input file) and 
# NR (overall record number) are equals we are reading the 
# first file - pcs.txt
FNR==NR{
    # Store the value of the first column in as a key in
    # an array "a"
    a[$1]=1
    # Don't process any further blocks. Continue with the 
    # next line of input
    next
}

# This expression is only executed on lines of ppcc.txt
# If the array "a" doesn't not contain the second column
# as a key, print it.
!($2 in a)

哪种编程语言?您在标记中包含了
linux
-是否希望有人在命令行中告诉您如何执行此操作?我建议格式化您的代码。非常感谢hek2mgl。如果我从另一个角度看这个命令(删除命令中的“!”),希望打印两个文件pcs.txt和ppcc.txt的公共数据值,那么您的答案非常有用,希望这个命令合适:awk'BEGIN{FS=OFS=“|”}FNR==NR{a[$1]=1;next}($a中的2)'pcs.txt ppcc.txt