我有一个.data
文件,其中包含带有列格式的数字表:
m x y z vx vy vz
用制表符分隔,深度为2000。文件名是initc.data
。
我想更改文件的整个第一列的值。
我尝试使用以下命令:
awk -F '$1 == 0.05' initc
和
awk -F '{print $1, "0.05"}' initc
打开文件并为第一列分配值0.05
。它们都打开awk
但不运行也不产生输出。
有问题的数据的一个示例是:
0.500000 0.500000 0.500000 0.500000 -1.500000 -1.500000 -1.500000
0.500000 0.567564 0.543674 0.536446 -1.500000 -1.500000 -1.500000
0.500000 0.454538 0.492286 0.501853 -1.500000 -1.500000 -1.500000
0.500000 0.574283 0.367439 0.668929 -1.500000 -1.500000 -1.500000
我可以找到的最接近的相关问题是:文件中的相关数据。
awk
没有像的较新版本一样进行就地替换的功能sed
。因此,您需要将输出定向到另一个文件,并从这个新创建的文件中取回它,如下所示:
awk '{$1="0.05"; print $0}' initc > initc.new && cat initc.new > initc
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句