2016-10-10 4 views
-3

를 비교 file2.txt의 모든 행 이상은 File2.txt의 각 행을 반복,은 File2.txt이내가 두 개의 텍스트 파일이

100.145 10.0728

100.298 10.04

및 파일 2 같은 것을 포함 말 .txt를

100.223 8.92739

100.209 9.04269

같은 것을 포함

100.023 9.01252

100.084 9.08411

은 File2.txt와 file2.txt 모두 열의 차이가 작거나 0.001와 같은 경우는 내가 열 1, 파일 및 인쇄 경기를 모두 열 둘을 비교하려면 .

두 파일에 동일한 번호가 없으므로 또는 행, file1.txt의 row1을 file2.txt의 모든 행과 비교하려면 file1.txt의 row2를 선택하고 file1.txt의 모든 행을 모두 사용할 때까지 동일한 작업을 수행합니다. 차이점은 두 파일의 차이가 0.001보다 작거나 같으면 두 파일 모두에

+1

"무엇인가"와 같이 작업하고 출력물과 같은 "무언가"를 생성하도록 요청하지 마십시오. 요구 사항을 모호하게 다루지 마십시오. 구체적으로 말하자면 도구를 사용하려는 입력과 해당 입력에 대해 원하는 출력을 보여줍니다. –

+0

지난 번에 같은 질문을했을 때 예상되는 결과물을 제공하라는 질문을 받았지만 그렇지 않은 경우 분명히 만족스러운 해결책을 얻지 못했을 것입니다. 이번에 해주세요. 또한 누군가가 귀하의 질문을 이해할 수있는 형식으로 편집했습니다. 제발, 당신의 이전 질문에서 그것의 현재 형태로 형식화 된 방법을보고이 질문에 그 방법을 적용하십시오, –

답변

-1
과 일치하는 행을 인쇄해야 함 ($ 1 file1.txt - $ 1 file2.txt)과 ($ 2 file1.txt - $ 2 file2.txt)

이것을 시도해 볼 수 있습니다.

#!/bin/bash 

while read line; do 
while read line2; do 
    Col1F1=$(echo $line | awk '{print $1}') 
    Col1F2=$(echo $line2 | awk '{print $1}') 
    Col2F1=$(echo $line | awk '{print $2}') 
    Col2F2=$(echo $line2 | awk '{print $2}') 

     if [ ! -z "${Col1F1}" ] && [ ! -z "${Col1F2}" ]; then 

     diffCol1=$(awk '{print $1-$2}' <<< "$Col1F1 $Col1F2") 
     diffCol2=$(awk '{print $1-$2}' <<< "$Col2F1 $Col2F2") 

      if (($(echo "$diffCol1 < 0.001" |bc -l) && $(echo "$diffCol2 < 0.001" |bc -l))); then 
       echo -e ${Col1F1} "\t" ${Col2F1} "\t" ${Col1F2} "\t" ${Col2F2} "\n" 
      fi 

     fi 
done < file2.txt 
done < file1.txt 
관련 문제