我有一个逗号分隔的dat文件,在第二列中有一些空值。我必须只替换那些在第7列中以“BL”开头的值的空值。
我是unix的新手。我曾想过使用awk命令并使用
获取所有这些行awk -F, '$7 ~ /^"BL*/ && $2 ~ /^"[ ]*"$/ {print $0 > temp.dat} input.dat
但我仍然对如何替换值感到困惑。另外,我必须将所有其他数据保存在文件中。请建议我应该使用什么命令。
答案 0 :(得分:2)
如果您想将第二列的值更改为其他内容,只需使用$2="<something else>"
。
以下是一个例子:
awk -F, -vOFS=, '{if($7~/^BL/ && $2==""){$2="foo"}print;}' file