根据unix中的其他列值替换空列值

时间:2013-10-21 07:44:37

标签: unix replace awk command comma

我有一个逗号分隔的dat文件,在第二列中有一些空值。我必须只替换那些在第7列中以“BL”开头的值的空值。

我是unix的新手。我曾想过使用awk命令并使用

获取所有这些行
awk -F, '$7 ~ /^"BL*/ && $2 ~ /^"[ ]*"$/ {print $0 > temp.dat} input.dat

但我仍然对如何替换值感到困惑。另外,我必须将所有其他数据保存在文件中。请建议我应该使用什么命令。

1 个答案:

答案 0 :(得分:2)

如果您想将第二列的值更改为其他内容,只需使用$2="<something else>"

以下是一个例子:

awk -F, -vOFS=, '{if($7~/^BL/ && $2==""){$2="foo"}print;}' file