파일의 열에서 중복된 숫자를 제거하는 방법은 무엇입니까?

파일의 열에서 중복된 숫자를 제거하는 방법은 무엇입니까?

다음과 같은 파일이 있습니다.

입력하다:

34
34
34
43
54
54
10001
10001
10001
10001
100005
100005
500000

따라서 각 숫자가 한 번만 나타나도록 해야 합니다.

나가:

34
43
54
10001
100005
500000

실제 파일을 고려한 제안 사항이 상당히 크고 반복이 너무 많습니까?

답변1

당신을 위한:

$ uniq inputFile > outputFile

uniq단 , 연속된 중복 행만 삭제되므로 주의하세요 . 따라서 연속적으로 발생하지 않는 줄이라도 모든 중복 줄을 제거하려면 먼저 sort파일을 입력하고 다음을 사용할 수 있습니다 uniq.

$ sort -g inputFile | uniq > outputFile

-g옵션은 공통 값을 기준으로 비교됩니다.

아니면 그냥 사용sort -nu inputFile > outputFile

답변2

연속된 행이 아닌 중복 항목을 제거하려면 다음과 같이 정렬해야 합니다.

cat FILE1 | sort -nu > FILE2

sort -n숫자 정렬 및 연속된 중복 행 제거를 나타냅니다 ( 정렬된 파일/데이터에 대해 -u독립 실행형 명령이 수행하는 것과 동일 ).uniq

관련 정보