1
두 개의 .txt 파일을 통해 일치하는 항목을 찾고 고유 한 줄만 인쇄하려고합니다. 나는 숫자와 이름의 목록과 단지 부분적인 숫자의 두 번째 목록을 가지고있다.mac bash를 사용하여 중복 문자열에 대해 두 파일 비교
파일 형식이
5553239090처럼 배트맨 있습니다
초 파일은 내가 첫 번째 여섯 일치하는 라인을 복용하고 있는지 확인하려면에만 6 자리 숫자 555,323
입니다 숫자가 239090이라면 그 줄을 빼고 싶지 않을 것입니다. 지금까지 내가 그 작품을 찾은 것은 이것이다. 일부만 일치하는 부분을 모두 꺼내지는 않았지만 어떤 이유로이 작품이 무엇인지 발견했다.
while read line
do
echo $line
while read line2
do
if [[ "${line:0:6}" != "$line2" ]]; then
echo $line >> uniqueList2.txt
echo ${line:0:6}
fi
done < file2.txt
done < file1.txt
그것은 파일 2의 상단에있는 숫자와 가장 잘 일치하는 것처럼 보이며 목록을 더 내려 가면 놓칠 가능성이 큽니다.
내가보고 싶었던 점이나 더 좋은 방법이 있습니까?
당신은이 같은awk
사용할 수 있습니다
나는 그것을 시도했지만 문제가 나는 수가 어디에서 경기를 얻는 것을이었다 단지 처음 6시 – Dom
ok updated awk 명령을 지금 참조하십시오. – anubhava
일부 일치는 있지만 전부는 아닙니다. 나는 이름이있는 50 개의 숫자 목록을 가지고 있으며 그 중 50 개는 25 개가 일치해야합니다. 내 원래 코드로 목록의 순서에 따라 3-5을 뽑아 내고 AWK를 통해 8 개의 일치 항목을 꺼 냈습니다. 나는 왜 그것이 효과가 없는지 확신하지 못한다. – Dom