我正在寻找一种从一个.txt
文件中删除另一个文件中的内容的方法。
例如,我有一个{2000}的file.txt
字符,它是随机的且未排序。我还有另一个文件importantfile.txt
,其中包含2016个字符,这些字符与file.txt
所具有的字符相同,还随机放置了16个其他字符。
有什么方法可以从file.txt
中删除importantfile.txt
中的字符以找到16个字符串。
一些错误,我发现在diff命令中它会打印整个字符串,因为一个单词diff file.txt importantfile.txt
会返回w881lYoi8042aKGfwj7EjenViinsmbmnWIHJMZ2T9L40KiLr4x485TM3gKmc1Ig8n6VVW82iqjxypCp19sXIMisX4HIkp54lVohqKSuLjjuns91GiEwtTsvN0zhn6c9GZC2GqUKLsy9v1SvSKvdSPBmIJtNoSwr65BBGqLQ1LdHg93kfZoCq5NPxkaYjIyppzYaczGlwZBrsKyjbTEI5B1aWuw6g9xBZ1viussKRP5C5Pq5yO14P8xBDHGugo93mwf7rsjNehNuxDSAt
,但由于明显的原因而缩短了,但是两个字符串的开头都会是w881l.....
我也尝试过使用importantfile.replace("file","");
代码的Java脚本,但是它也返回了整个字符串。任何帮助,谢谢
答案 0 :(得分:0)
如果我了解正确性,怎么办:
awk '
NR==FNR{str1 = $0; next} {str2 = $0}
END {
for (i = j = 1; j <= length(str2); ) {
if (substr(str1, i, 1) == substr(str2, j, 1)) {
incr = 1
} else {
incr = 0
printf "%s", substr(str2, j, 1)
}
i+=incr; j++
}
print ""
}' file.txt importantfile.txt
输出:
d5