我需要用靜態白名單來粉刷一組文件,我遇到了問題,因爲當我使用小規模的以下命令時,似乎工作,但是當我嘗試從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