我有一个逗号分隔的dat文件,它在第二列有一些空值。我必须只替换那些在第七列以“BL”开头的值的行的空值。我是unix的新手。我曾经想过使用awk命令,并使用
awk -F, '$7 ~ /^"BL*/ && $2 ~ /^"[ ]*"$/ {print $0 > temp.dat} input.dat
但是我仍然不明白如何替换值。而且我必须在文件中保留所有其他数据。请建议我应该使用什么命令。
kkih6yb81#
如果要将第2列的值更改为其他值,只需使用$2="<something else>"。下面是一个示例:
$2="<something else>"
awk -F, -vOFS=, '{if($7~/^BL/ && $2==""){$2="foo"}print;}' file
1条答案
按热度按时间kkih6yb81#
如果要将第2列的值更改为其他值,只需使用
$2="<something else>"
。下面是一个示例: