稳定地将两个文件与重复项合二为一
Stable sorting two files into one with the duplicates
我一直在尝试对两个文件进行排序并获取输出。
对文件 1 说:
102310863||7097881||6845123||271640||06007709532577||||
102310875||7092992||6840818||023740||10034500635650||||
和文件 2:
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840808||023740||10034500635650||||
期望的输出是:
102310863||7097881||6845123||271640||06007709532577||||
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840818||023740||10034500635650||||
102310875||7092992||6840808||023740||10034500635650||||
我一直在尝试使用排序命令
sort -t \| -n -k1,1 t1.txt t2.txt
但它给了我输出
102310863||7097881||6845123||271640||06007709532577||||
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840808||023740||10034500635650||||
102310875||7092992||6840818||023740||10034500635650||||
这不是我想要的,因为未保留原始文件顺序。
是否有任何其他方法来获得所需的输出?
使用 -s
标志执行稳定排序。
sort -s -t \| -k1,1 t1.txt t2.txt
来自man sort
:
-s, --stable
stabilize sort by disabling last-resort comparison
我一直在尝试对两个文件进行排序并获取输出。
对文件 1 说:
102310863||7097881||6845123||271640||06007709532577||||
102310875||7092992||6840818||023740||10034500635650||||
和文件 2:
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840808||023740||10034500635650||||
期望的输出是:
102310863||7097881||6845123||271640||06007709532577||||
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840818||023740||10034500635650||||
102310875||7092992||6840808||023740||10034500635650||||
我一直在尝试使用排序命令
sort -t \| -n -k1,1 t1.txt t2.txt
但它给了我输出
102310863||7097881||6845123||271640||06007709532577||||
102310863||7097881||6845193||271640||06007709532577||||
102310875||7092992||6840808||023740||10034500635650||||
102310875||7092992||6840818||023740||10034500635650||||
这不是我想要的,因为未保留原始文件顺序。
是否有任何其他方法来获得所需的输出?
使用 -s
标志执行稳定排序。
sort -s -t \| -k1,1 t1.txt t2.txt
来自man sort
:
-s, --stable
stabilize sort by disabling last-resort comparison