我有一个包含多列的.csv文件,我想将所有行的文件中第一列的值更改为“正”,除非它为“负”
所以如果我有文件
product,0 0,no way
brand,0 0 0,detergent
product,0 0 1,sugar
negative,0 0 1, sight
我想做到
positive,0 0,no way
positive,0 0,detergent
positive,0 0 1,sugar
negative,0 0 1, sight
如何使用awk完成此操作?
答案 0 :(得分:1)
这个awk单线应可为您提供帮助:
awk -F, -v OFS="," '$1="positive"' file
因为您被标记为sed
:
sed 's/[^,]*/positive/' file
awk -F, -v OFS="," '$1="negative"==$1?$1:"positive"' file
或:
awk -F, -v OFS="," '"negative"==$1||$1="positive"' file
答案 1 :(得分:0)
这可能对您有用(GNU sed):
sed '/^negative,/!s/^[^,]*/positive/' file
如果第一个单词不是negative
,请将其更改为positive
。