주어진 행에있는 대부분의 값이 동일한 테이블이 있습니다. 내가 뽑아 내고 싶은 것은 적어도 하나의 값이 다른 행입니다. 나는 이런 식으로 그걸하는 법을 알아 냈습니다awk를 사용하여 한 행에서 차이점을 찾을 수
awk -F "\t" '{if (($4!=$5)&&($5!=$6)&&($6!=$7)) print $0;}'
유일한 문제는 비교할 40 개의 기수 열이 있다는 것입니다. 차이점에 대해 여러 열을 비교하는보다 우아한 방법이 있습니까? BTW - 숫자가 아닌 값이므로 멋진 수학 트릭이 효과가 없습니다.
감사합니다. 나는 뉴비 다. 그래서 나는 모든 명령 등을 이해할 수 없다는 것을 인정해야한다. 그러나 나는 여기서 그것을 볼 수있다. 누구와 함께 할 지 모르겠지만 구체적인 예를 통해 교과서 설명보다 더 많은 것을 배울 수 있으므로 이러한 여러 가지 솔루션을 사용하면 학습 곡선에 큰 도움이됩니다. 이에 따라 조정
awk -F "\t" '{ for(i=4;i<NF;i++) if ($i != $(i+1)) { print; next } }' file
:
이것은 n'은 다른 분야의 수는'각 라인'n' 번 인쇄됩니다
는귀하의 스크립트는이 경우에이 분야에서 변화에만 관심이 제안
$4
에서 시작 한 줄에, 당신은 아마 거기에 '다음'을 원할 것입니다. –예, 맞습니다. 추가됨. – Steve