如果其他列的AWK写入到新列的基础上

我有一个列A,B,C,D的CSV文件。 D列包含0到1的值。我想用AWK在列D中的值写入一个新的E列。

例如:
如果列D中的值<0.7,则列E中的值= 0。
如果列D> = 0.7中的值,则列E = 1中的值。

我能够打印列E的输出,但不知道如何写入到一个新的列。 它可能写我的代码的输出到一个新的文件,然后粘贴回旧文件,但我想知道是否有一个更有效的方法。 这是我的代码:

awk -F"," 'NR>1 {if ($3>=0.7) $4= "1"; else if ($3<0.7) $4= "0"; print $4;}' test_file.csv 

您可以使用:

 awk -F, 'NR>1 {$0 = $0 FS (($4 >= 0.7) ? 1 : 0)} 1' test_file.csv 

下面的awk命令应该给你预期的输出

 cat yourfile.csv|awk -F "," '{if($4>=0.7)print $0",1";else if($4<0.7)print $0",0"}' > test_file.csv