我正在尝试对两个文件进行排序以加入它们。我排序的一些键非常相似,这似乎导致了问题。例如,我有两个键,它们是a1ke
和a1k3-b3
。我正在使用命令:
sort -nk1 file.txt -o file.txt
在一个文件中,它们按此顺序出现,而在另一个文件中,它们以相反的顺序出现。当我尝试加入文件时,这会导致问题。
如何对这些文件进行排序,使它们的顺序相同?
谢谢
我正在尝试对两个文件进行排序以加入它们。我排序的一些键非常相似,这似乎导致了问题。例如,我有两个键,它们是a1ke
和a1k3-b3
。我正在使用命令:
sort -nk1 file.txt -o file.txt
在一个文件中,它们按此顺序出现,而在另一个文件中,它们以相反的顺序出现。当我尝试加入文件时,这会导致问题。
如何对这些文件进行排序,使它们的顺序相同?
谢谢
不要使用“-n”选项,它根据字符串数值进行比较。
-n
Compare according to arithmetic value an initial numeric string consisting of optional white
space, an optional - sign, and zero or more digits, optionally followed by a decimal point and
zero or more digits.
您的键是字符串,而不是数字。
相反,你应该这样做:
sort -k1 file.txt -o file.txt
附加信息:
您可以看到,当使用唯一排序时,sort
您的键是相同的:-n
sort -un file
你会看到a1k3-b3
并且a1ke
被认为是相等的(因此只发出一个)。相反,如果您这样做:
sort -u file
结果将同时包含a1k3-b3
和a1ke
,这是您想要的。