我有一个.csv文件,我需要用另一个字符串替换第5列中的字符串,列用','分隔,列中的每个元素都用“如下所示。
"ID","CIRCLE","IP_ADDRESS","DESCRIPTION","Current_Status"
"6","local","127.0.0.1","localhost","3"
"7","RPOP1","10.10.10.1","router1","3"
我需要用字符串'Alive'替换第5列中'3'的所有元素。
我已尝试过以前在stackflow中发布的脚本,但它不适合我的情况
/usr/bin/awk -F, '$5 ~ /3/ { OFS= ","; $5 = "Alive"; }' /tmp/HOST_REPORT.csv
请提供一个简单的解决方案。 谢谢。
答案 0 :(得分:4)
但它不适合我的情况
因为您没有选择打印它。尝试:
/usr/bin/awk -F, '$5 ~ /3/ { OFS= ","; $5 = "Alive"; }1' /tmp/HOST_REPORT.csv
^
为了保留引号,您可以说:
/usr/bin/awk -F, '$5 ~ /3/ { OFS="," ; $5 = "\"Alive\""; }1' /tmp/HOST_REPORT.csv