0

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

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

awk -F, '$7 ~ /^"BL*/ && $2 ~ /^"[ ]*"$/ {print $0 > temp.dat} input.dat

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

4

1 回答 1

2

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

这是一个例子:

awk -F, -vOFS=, '{if($7~/^BL/ && $2==""){$2="foo"}print;}' file
于 2013-10-21T07:59:25.397 回答