我有一个bash脚本,该脚本在.csv文件上运行,然后在bash脚本的输出上运行python脚本。我想将所有内容制作成一个脚本,但是bash脚本非常复杂,我找不到在Python中使用它的方法。
grep "$(grep -E "tcp|udp" results.csv | grep -E "Critical|High|Medium" | awk -F "\"*,\"*" '{print $8}')" results.csv | sort -t',' -k4,4 -k8,8 | awk -F "\"*,\"*" '{print $5,"port",$7"/"$6,$8}' | sed '/tcp\|udp/!d' | awk '!a[$0]++' | sed '/,port,\/,/d' > out
我既尝试将其作为字符串,又作为带有子进程的参数化命令进行了尝试,但是似乎复杂的字符太多了,一切都无法正常工作。
有没有一种更简单的方法可以在Python中运行此命令?
附言:我知道关于同一主题有多个问题和答案,但是没有一个对我有用。
您能否使用\跳过所有“双引号”,请尝试一下并让我们知道它是否有效:
os.system(" grep \"$(grep -E \"tcp|udp\" results.csv | grep -E \"Critical|High|Medium\" | awk -F \"\\\"*,\\\"*\" '{print $8}')\" results.csv | sort -t',' -k4,4 -k8,8 | awk -F \"\\\"*,\\\"*\" '{print $5,\"port\",$7\"/\"$6,$8}' | sed '/tcp\|udp/!d' | awk '!a[$0]++' | sed '/,port,\/,/d' > out ")
整个命令可以放在“ your_command_with \”转义\“双引号中。祝你今天过得愉快
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句