2012-04-26 4 views
2

원본 파일 input_file.txt는 STH 같다 :bash는 프로세스 데이터

나는 특정 숫자로 모든 숫자를 빼기 할
A: 46274 
B: 43274 
C: 47242 

, 다음 출력을 다른 파일에 결과가 좋아 output_file.txt, 40000 말 :

6274 
3274 
7242 

아무도 도와 줄 수 있습니까? 고맙습니다.

답변

0

를 Input.txt 예를 들어

A: 46274 
B: 43274 
C: 47242 

유닉스 솔루션

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

펄 솔루션

#!/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"; 
    } 

실행하고

6274 
3274 
7242 
+0

대단히 감사합니다! – user1224398

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 
+0

을 주셔서 대단히 감사합니다

과 Output.txt을 OUTPUT.TXT하는 스크립트의 출력을 리디렉션하여 도움! – user1224398