希望从.txt文件中删除一组字符

时间:2019-03-07 02:23:55

标签: javascript linux bash shell

我正在寻找一种从一个.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脚本,但是它也返回了整个字符串。任何帮助,谢谢

1 个答案:

答案 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