我需要用静态白名单来粉刷一组文件,我遇到了问题,因为当我使用小规模的以下命令时,似乎工作,但是当我尝试从bash脚本中平行运行它们时,我的文件中出现不一致的结果。并非所有条目都按照我的意图被删除,这意味着脏数据仍在我需要清洗的目标文件中。我需要一个解决方案,这是一个必须解决的生活变化问题,如果有人能够给我一个提醒,这将是非常有益的。使用白名单在一个bash脚本中使用awk的多个实例对白名单进行粉饰
(顺便说一句我拆白名单成多个副本希望这将解决这个问题,它没有)
文件* S这里有超过10行,每行纯文本域名
的Whitelist.txt是超过25,000条目
google.com
1.google.net
websitetowhitelist.org
and so on...
例如:
#!/bin/bash
# Whitewash script washes blacklists against whitelist to remove domains that should never be blacklisted.
#
#
echo 'Washing file1 blacklist with whitelist.txt ...'
cat 'file1.acl' | awk '{ m=0 ; while ((getline row < "whitelist.txt") == 1) { if (row == $0) { m=1 ; break } } ; close("whitelist.txt") ; if (m == 0) { print $0 }}' > 'file1.out' &
echo 'Washing file2 blacklist with whitelist.txt ...'
cat 'file2' | awk '{ m=0 ; while ((getline row < "whitelist.txt") == 1) { if (row == $0) { m=1 ; break } } ; close("whitelist.txt") ; if (m == 0) { print $0 }}' > 'file2.out' &
echo 'Washing file3 blacklist with whitelist.txt ...'
cat 'file3.acl' | awk '{ m=0 ; while ((getline row < "whitelist.txt") == 1) { if (row == $0) { m=1 ; break } } ; close("whitelist.txt") ; if (m == 0) { print $0 }}' > 'file3.out' &
添加file1.acl和您想要的结果。 – Cyrus