Linux awk文件中列的增量或更改值
我有一个bash脚本,它运行备份作业并生成一个csv文件Linux awk文件中列的增量或更改值,linux,bash,sed,awk,Linux,Bash,Sed,Awk,我有一个bash脚本,它运行备份作业并生成一个csv文件 90927597|1356976813998|90927598 如何增加/更改CSV文件第三列的值?(实际上我只想使用一个随机值使其成为uniq) 我怎样才能做到 谢谢鉴于文件a,sed's/hello/bye/g a'将文件a`中的所有hello替换为bye $ cat a 90927597|1356976813998|90927598 $ sed 's/90927598/hello/g' a 90927597|13569768139
90927597|1356976813998|90927598
如何增加/更改CSV文件第三列的值?(实际上我只想使用一个随机值使其成为uniq)
我怎样才能做到
谢谢鉴于文件
a
,sed's/hello/bye/g a'将文件
a`中的所有hello替换为
bye
$ cat a
90927597|1356976813998|90927598
$ sed 's/90927598/hello/g' a
90927597|1356976813998|hello
$
$ sed -i 's/90927598/hello/g' a
$ cat a
90927597|1356976813998|hello
也就是说,sed-i
替换该文件。如果没有-i
,则在标准输出上显示替换
第三列中的每个值对于每行都有不同的值,请执行以下操作
你认为可能吗?
只是随机的,或者使用相同的值+随机值,这个想法只是为了使它uniq
(创意来源)谢谢您的帮助,但我可以为一行完成此操作,我的csv文件有数千行,您知道我如何更改整个文件中第三列的值吗?您必须使用完全相同的值更改每一列的值还是每一行的值不同?第三列中的每一个值对于每一行的值不同,你认为它可能吗?但是你希望它存储什么价值呢?只是一个随机的?是的,只是随机的,或者使用相同的值+随机值,这个想法只是为了让它成为uniqawk-F\\\''{++$3;print}'
好主意,@jthill,我在更新的答案中使用了它的一部分。@jthill,你需要在其中的某个地方设置OFS=\\\\\
,只是想知道我是否可以不增加1,而是说10@glennjackman对<然后,代码>awk-F\\\\\''{$3+=10;print}'OFS=\\\\\
。
$ awk -v v=YOUR_SEED 'BEGIN {FS = "|"; OFS="|" } $3=++v' a > output_file