我有一个文本文件,其中有5列用逗号分隔,如下所示
449,615,43,57,8
308,617,43,57,3
345,558,43,57,11
Run Code Online (Sandbox Code Playgroud)
但是,在生成这些文件的代码中发现了一个错误,现在我需要更新文件的最后一列
if i > 10
i = i + 1
else i
我从来没有使用过awk和sed,但我觉得使用这些工具应该是微不足道的.任何人都可以给我一些指示吗?谢谢
编辑:上面的预期输出:
449,615,43,57,8
308,617,43,57,3
345,558,43,57,12
Run Code Online (Sandbox Code Playgroud)
使用awk:
awk 'BEGIN{FS=OFS=","}{$NF=($NF>10?$NF+1:$NF)}1' file
Run Code Online (Sandbox Code Playgroud)
$ cat file
449,615,43,57,8
308,617,43,57,3
345,558,43,57,11
$ awk 'BEGIN{FS=OFS=","}{$NF=($NF>10?$NF+1:$NF)}1' file
449,615,43,57,8
308,617,43,57,3
345,558,43,57,12
Run Code Online (Sandbox Code Playgroud)
可以按照评论中anubhava的建议减少:
$ awk 'BEGIN{FS=OFS=","} $NF>10{$NF++} 1' file
449,615,43,57,8
308,617,43,57,3
345,558,43,57,12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |