我有一个文件,其前28行只是单词。从第29行到第100行,我有A,B和C原子的位置信息,以及它们的3d坐标。现在我想做的是以与第29行的Y(第3列)相关的方式更改Z(第4列):
Z = Z + sin(Y / 10 * Pi)。这可能就在终端吗?感谢。
A 0.016333 0.003203 0.472723
A 0.016333 0.035228 0.472723
B 0.016333 0.067253 0.472723
B 0.016333 0.099278 0.472723
C 0.016333 0.131303 0.472723
C 0.016333 0.163328 0.472723
答案 0 :(得分:1)
Perl解决方案:
perl -lane '$F[3] += sin($F[2]/10 * 4 * atan2 1, 1) if 29 .. 100;
print "@F"
' input_file > output_file
-n
逐行读取输入行-a
将空格上的每一行拆分为@F数组-l
为print
4 * atan2 1, 1
是π