我寫了一個bash
腳本調用Python腳本掃描漏洞:擊/殼牌:CSV文件處理問題
#scan.sh
while IFS=, read -r n d ;do
python scan.py $d 443 | sed "s/^\(.\)/$n,\1/"
done < Input.csv
Input.csv
樣子:
#Input.csv
1,abc.com
2,xyz.com
3,pqr.com
.........
Output.csv
應該像:
1,abc.com,True,2016-03-06
1,abc.com,False,2016-03-06
1,abc.com,True,2016-03-06
1,abc.com,True,2016-03-06
2,xyz.com,False,2016-03-06
2,xyz.com,False,2016-03-06
2,xyz.com,False,2016-03-06
2,xyz.com,False,2016-03-06
3,pqr.com,True,2016-03-06
3,pqr.com,True,2016-03-06
3,pqr.com,True,2016-03-06
3,pqr.com,True,2016-03-06
........................
每個ID
將有在output.csv
四個條目有不同的結果。
- 如果4個條目的一個
ID
是True
,它必須是True
,需要有一個ID
一個條目。 - 如果
ID
的所有四個條目都是False
,則它必須是False
並且有一個條目。 - 如果
ID
的所有四個條目都是True
,則它必須是True
並且有一個條目。
這樣:
# processed_out.csv
1,abc.com,True,2016-03-06
2,xyz.com,False,2016-03-06
3,pqr.com,True,2016-03-06
........
我怎樣才能達到這個情況下,只有通過用awk/sed的?
僅供參考:我是bash腳本編程的初學者。
你想在bash中做到這一點的任何理由?您已經有了一個執行「重要」工作的Python腳本。如果讓這個腳本首先將所需格式的數據吐出,是不是更容易? –
@MarcB我不希望修改主腳本中的任何單行編輯,坦率地說,我更感興趣學習bash編程中的新東西;) – Arun
@MarcB即使在#scan.sh腳本中,我在輸出結果中插入/前綴每個域的標識(sed「s /^\(.\)/$ n,\ 1 /」)。我真的愛上了bash! – Arun