我有一个这样的文件:
col1 col2 col3
1 1 1
2 1 2
3 1 1
23 2 2
2 1 1
3 2 2
2 2 2
我想在第二列中将值为1的所有行更改为4.因此输出应为:
col1 col2 col3
1 4 1
2 4 2
3 4 1
23 2 2
2 4 1
3 2 2
2 2 2
任何建议?
答案 0 :(得分:1)
您可以使用src
三元运算符
awk
由于默认 awk '{$2=(($2=="1")?"4":$2)}1' file
按单个空格分割输入字段,我们可以直接检查awk
以包含$2
值,如果可以,我们可以将其替换为1
,否则保留值本身。 4
将打印包含字段更新的文件。
答案 1 :(得分:0)
你可以看看awk。
例如,尝试以下方法:
cat your_file_name | awk {'printf $1 " " (($2!="1") ? $2 : "4") " " $3 "\n";'}