Linux 加入原始排序文件,在一个文件中包含2个字段,在第二个文件中包含1个字段
我需要linux命令的帮助。 我有两个文件StockSort和SalesSort。它们已排序,每个字段有3个字段。我知道如何对第一个文件中的1个字段和第二个文件中的1个字段进行排序。但我无法获得正确的语法来连接第一个文件中的两个字段和第二个文件中的一个字段。我还需要将它保存到一个新文件中。 到目前为止,我有这个命令,但它不起作用。我认为错误在“2,3”部分,我需要合并第一个文件中的两个字段Linux 加入原始排序文件,在一个文件中包含2个字段,在第二个文件中包含1个字段,linux,Linux,我需要linux命令的帮助。 我有两个文件StockSort和SalesSort。它们已排序,每个字段有3个字段。我知道如何对第一个文件中的1个字段和第二个文件中的1个字段进行排序。但我无法获得正确的语法来连接第一个文件中的两个字段和第二个文件中的一个字段。我还需要将它保存到一个新文件中。 到目前为止,我有这个命令,但它不起作用。我认为错误在“2,3”部分,我需要合并第一个文件中的两个字段 join -1 2,3 -2 2 StockSort SalesSort >FinalReport
join -1 2,3 -2 2 StockSort SalesSort >FinalReport
StockSort file
3976:diode:350
4105:resistor:750
4250:resistor:500
SalesSort file
3976:120:net
4105:250:chg
5500:100:pde
Output should be like this:
3976:350:120
4105:750:250
4250:500:100
你可以试试
join -t: -o 1.1,1.3,2.2 stocksort salesort
在哪里
你可以试试
join -t: -o 1.1,1.3,2.2 stocksort salesort
在哪里
以下是一个awk:
$ awk 'BEGIN{ FS=OFS=":"}
FNR==NR {Stock[$1]=$3; next}
$1 in Stock{ print $1,Stock[$1],$2}' StockSort SalesSort
以下是一个awk:
$ awk 'BEGIN{ FS=OFS=":"}
FNR==NR {Stock[$1]=$3; next}
$1 in Stock{ print $1,Stock[$1],$2}' StockSort SalesSort
你能用文件样本和所需输出更新你的帖子吗?@IanKenney用需要由字段连接的表更新了预期输出是什么?@IanKenney updated由于SalesSort的最后一行是
5500:100:pde
,你如何在输出中获得4250:500:100
的最后一行?第一个文件中未定义5500
的值。给定这两个输入文件,应该只有两行输出,否?你能用文件样本和所需输出更新你的帖子吗?@IanKenney用需要由字段连接的表更新了预期输出是什么?@IanKenney updated由于SalesSort的最后一行是5500:100:pde
,你如何在输出中获得最后一行4250:500:100
?第一个文件中未定义5500
的值。给定这两个输入文件,应该只有两行输出,不是吗?