如何添加值并将其打印出来

时间:2014-08-26 06:26:10

标签: perl

嗨我的文件中有这样的东西

147.840 15.12
188.160 15.12
678.720 15.12
565.440 15.12

不,我想将0.76添加到第一个数字,将7.84添加到第二个数字。我想对文件中的所有数字执行此操作。输出应该是这样的(总和)

147.840+0.56 15.12+7.84
188.160+0.56 15.12+7.84
678.720+0.56 15.12+7.84
565.440+0.56 15.12+7.84

我该怎么做

2 个答案:

答案 0 :(得分:3)

使用perl one liner,

perl -lane 'print join " ", $F[0]+0.76, $F[1]+7.84' file

切换说明,

  • -l选中每一行并在打印时添加换行符
  • -a自动拆分(在空白处)到@F数组
  • -n在代码
  • 周围添加while(<>) {}循环
  • -e将代码作为参数

答案 1 :(得分:2)

使用perl one-liner:

perl -lape '$F[0] += 0.76; $F[1] += 7.84; $_ = "@F"' file

切换

  • -l:启用行结束处理
  • -a:拆分空间线并将其加载到数组@F
  • -p:为输入文件中的每个“行”创建一个while(<>){...; print}循环。
  • -e:告诉perl在命令行上执行代码。