2013-02-11 3 views
0

에 의해 2 파일 라인을 비교 다음 중 :내가 그런 두 파일을 가지고 있다고 가정 라인

  1. 파일의 행 수 1과 2가 동일하다
  2. 파일 1과 파일 2의 행이 다른 경우
  3. 파일 1의 행에 문자열이있는 반면 파일 2의 동일한 행에는 아무 것도 (공백)
  4. 파일 1의 같은 라인은 내가 comm, cmpdiff를 사용하려고

(빈) 아무 상관이없는 동안 파일 2 라인이 문자열을 가지고 발생률의 번호,하지만 그들은 할 수 없었다 그 일을해라. 이 작업을 수행 할 수있는 Linux 명령이 있습니까?

+0

간단한'awk' 스크립트를 할 것입니다, 예를 들면. – lynxlynxlynx

답변

0

이것은 표준 도구로 수행하기가 쉽지 않을 정도로 전문화되어 있습니다. 나는 펄처럼, 비교를하고 프로그램을 작성할 것 :

#!/usr/bin/perl 

open(IN1, "< file1"); 
open(IN2, "< file2"); 

$count1 = $count2 = $count3 = $count4 = 0; 
while(<IN1>) { 
    $line1 = $_; 
    $line2 = <IN2>; 
    $count1++ if($line1 eq $line2); 
    $count2++ if($line1 ne $line2); 
    $count3++ if($line1 ne "" && $line2 eq ""); 
    $count4++ if($line1 eq "" && $line2 ne ""); 
} 
print "$count1 $count2 $count3 $count4\n"; 

모든 검사 오류가, 두 파일이 동일한 길이 있다고 가정 ...

+0

안녕하세요, 도움 주셔서 감사합니다, 빈 줄을 "\ n"및 ""않습니다 일치하는 제외하고 코드가 잘 작동하고 있습니다. – Bioinfoguy

관련 문제