繁体   English   中英

使用连接无输出-文件已排序,字段匹配

[英]No output using join — files are sorted, fields match

我想通过长的哈希字符串将这两个文件连接起来,但是当我执行代码时,它确实不发出任何输出。 这两个文件均按用作联接键的字段排序。

sort.txt

bondsba01:06997f04a7db92466a2baa6ebc8b872d
mccovwi01:07563a3fe3bbe7e3ba84431ad9d055af
thomafr04:07563a3fe3bbe7e3ba84431ad9d055af
willite01:07563a3fe3bbe7e3ba84431ad9d055af
bankser01:10a7cdd970fe135cf4f7bb55c0e3b59f
matheed01:10a7cdd970fe135cf4f7bb55c0e3b59f
ramirma02:15de21c670ae7c3f6f3f1f37029303c9
ortizda01:285e19f20beded7d215102b49d5c09a0
robinfr02:605ff764c617d3cd28dbbdd72be8f9a2
mantlmi01:65658fde58ab3c2b6e5132a39fae7cb9
mayswi01:68264bdb65b97eeae6788aa3348e553c
rodrial01:7f5d04d189dfb634e6a85bb9d9adf21e
palmera01:8b16ebc056e613024c057be590b542eb
schmimi01:8d34201a5b85900908db6cae92723617
jacksre01:8eefcfdf5990e441f0fb6f3fad709e21
mcgwima01:9ad6aaed513b73148b7d49f70afcfb32
griffke02:9cc138f8dc04cbf16240daa92d8d50e2
ottme01:a760880003e7ddedfef56acb3b09697f
pujolal01:a9a6653e48976138166de32772b1bf40
murraed02:b337e84de8752b27eda3a12363109e80
foxxji01:c399862d3b9d6b76c8436e924a68c45b
aaronha01:ccb0989662211f61edae2e26d58ea92f
ruthba01:d14220ee66aeec73c49038385428ec4c
sosasa01:d7a728a67d909e714c0774e22cb806f2
sheffga01:e2230b853516e7b05d79744fbd4c9c13
killeha01:e5f6ad6ce374177eef023bf5d0c018b6
thomeji01:f76a89f0cb91bc419542ce9fa43902dc

Cracked.txt

06997f04a7db92466a2baa6ebc8b872d:762
07563a3fe3bbe7e3ba84431ad9d055af:521
10a7cdd970fe135cf4f7bb55c0e3b59f:512
15de21c670ae7c3f6f3f1f37029303c9:555
285e19f20beded7d215102b49d5c09a0:503
605ff764c617d3cd28dbbdd72be8f9a2:586
65658fde58ab3c2b6e5132a39fae7cb9:536
68264bdb65b97eeae6788aa3348e553c:660
7f5d04d189dfb634e6a85bb9d9adf21e:687
8b16ebc056e613024c057be590b542eb:569
8d34201a5b85900908db6cae92723617:548
8eefcfdf5990e441f0fb6f3fad709e21:563
9ad6aaed513b73148b7d49f70afcfb32:583
9cc138f8dc04cbf16240daa92d8d50e2:630
a760880003e7ddedfef56acb3b09697f:511
a9a6653e48976138166de32772b1bf40:560
b337e84de8752b27eda3a12363109e80:504
c399862d3b9d6b76c8436e924a68c45b:534
ccb0989662211f61edae2e26d58ea92f:755
d14220ee66aeec73c49038385428ec4c:714
d7a728a67d909e714c0774e22cb806f2:609
e2230b853516e7b05d79744fbd4c9c13:509
e5f6ad6ce374177eef023bf5d0c018b6:573
f76a89f0cb91bc419542ce9fa43902dc:612

join -t ':' -1 2 -2 1 sort.txt cracked.txt 

您需要确保两个输入文件都使用UNIX换行符。

DOS文本文件具有两个字符换行符(回车,换行)。 UNIX文本文件仅具有换行符。

因此,当在UNIX上读取DOS文本文件时,每一行的末尾似乎都有一个额外的字符(CR,又名$'\\r' )。 由于这些字符是回车符 ,因此在打印时它们会将光标发送回当前行的开头,而不具有视觉效果,因此它们的存在并不总是显而易见的。

因此,当您从cracked.txt第一个字段读取时,您的哈希值是原义的-但是当您从sort.txt的最后一个字段读取时,它们的sort.txt有一个不可见的回车符。 因此,它们永远不会匹配,因此,您将不会获得任何输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM