2

原始文件 input_file.txt 是这样的:

A: 46274
B: 43274
C: 47242

我想将所有这些数字减去某个数字,比如 40000,然后将结果输出到另一个文件 output_file.txt,如:

6274
3274
7242

谁能帮我这个?非常感谢。

4

2 回答 2

5

你可以用awk它来做。例如:

$ cat in.txt 
A: 46274
B: 43274
C: 47242
$ awk '{ print $2-74 }' in.txt 
46200
43200
47168
$ 

如果只是为了实验,你想用 bash 本身而不是使用类似的工具awk,你也可以这样做:

$ while read a b; do echo $(($b - 74)); done <./in.txt 
46200
43200
47168
于 2012-04-26T01:07:18.833 回答
0

输入.txt

A: 46274 
B: 43274 
C: 47242

Unix 解决方案

$> awk -F " " '{print $2-40000}' Input.txt > Output.txt

Perl 解决方案

#!/usr/bin/perl
    my @a=`cat /home/Input.txt`;
    foreach my $b (@a)
    {
            chomp($b);
            my ($c1,$c) = split (':',$b);
            chomp($c);
            $d= $c - 40000;
            print "$d\n";
    }

执行并将脚本的输出重定向到 Output.txt

输出.txt

6274
3274
7242
于 2012-04-26T09:37:23.597 回答