我有一个string文件:
XC:a:1 XC:b:2 XC:c:0
等等。 我想在第二个分割它:
总结所有的整数。 例如,对于上面的列表,我想要做1+2+0+...
我尝试cut -d ":"
但它只给了字段XC
。
你可以使用这种方式cut
和paste
:
paste -s -d+ <(cut -f3 -d: file) | bc
<(cut ...)
=>使用进程替换来发送提取的数字进行paste
paste -s -d+
=>将多行上的数字转换为这种格式1+2+3
,然后将其输入到数学公式 如果你已经安装了perl, 你可以在一行中做到这一点。
perl -F/:/ -ane 'END {print "$x\n"} $x += $F[2]' inputFile -F/:/ sets colon as the split separator works with -a -a autosplit mode with -n splits each line into @F -n assume "while (<>) { ... }" loop around program
这可以使用awk来完成,试试这个,或者你可以用列号替换$ NF。
awk -F:'{sum + = $ NF} END {print sum}'file_name
使用Python:
python -c "print(sum(int(line.split(':')[-1]) for line in open('filename')))"