linux - 如果为空,则编辑列的值

标签 linux awk

<分区>

我正在尝试编辑 CSV 文件的内容,其中第 4 列 ($4) 的标题为 default_address。目前,该列是空的,除了标题。如果值为 null(空白),我想使用 AWK 将列的值编辑为 Y。我可能在这里偏离了基地,但这就是我正在尝试的:

awk -F"," 'BEGIN { OFS = "," }; {if ($4="") $4="Y"; print}' file1.csv > file2.csv

有人能指出我正确的方向吗?

最佳答案

awk -F"," 'BEGIN { OFS = "," }; {if ($4="") $4="Y"; print}' file1.csv > file2.csv

这会让你到达那里:

awk -F"," 'BEGIN {OFS=","} $4 == "" { $4 = "Y" }  {print}' file1.csv > file2.csv

注意 ===,并且更喜欢 awk 模式而不是 if 当它做你需要的时候。您的 if 缺少大括号,这可能 一直是你问题的一部分。

关于linux - 如果为空,则编辑列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53638188/

相关文章:

Linux 追加到文件中的单行

java - 如何在 JRuby 中指定 native 库路径?

python - 问题导入 subprocess32

linux - rsync 命令有效,但不能作为 cronjob

linux - 如何在 awk 中使用多个操作来编辑文本文件

python - 将 CSV 缩减采样 10 倍并将其保存到另一个文件中

python - 调用的子进程不按顺序执行 bash 脚本

linux - 如何使用 sed 替换带有等号和空格的行?

awk - Grep/Awk:从表格列中查找状态

linux - 通过用户或名称监控Linux进程