假设我有一个数据文件需要处理;我想要取出每列的最大值,并将其添加到每一行的末尾。
输入:
T1 T2 T3
35.82 34.67 31.68
32.20 34.52 33.59
37.41 38.64 37.56
输出:
T1 T2 T3
35.82 34.67 31.68 35.82
32.20 34.52 33.59 34.52
37.41 38.64 37.56 38.64
我正在尝试将这个实现为一行代码。到目前为止,我想到了以下代码,但它抱怨 &main::max
未定义:
perl -MList::Util -ani.bak -e "print qq(@F).q( ).max(@F).qq(\n)" file1.txt
似乎我没有加载
List::Util
模块。有什么问题吗?表头列是否也是一个问题?
s///e
技巧是一个不错的技巧。只需要确保它适用于行内编辑即可。 - Zaidperl -i.bak -MList::Util=max -ape 's/$/" " .($.===1 ? "TMAX" : max(@F))/e' input
- Zaid