하나의 섹션만을 기준으로 고유한 행 찾기

하나의 섹션만을 기준으로 고유한 행 찾기

:특정 문자(예:)로 줄을 분할하고 해당 분할의 일부를 기반으로 고유한 줄을 찾는 방법이 있는지 궁금합니다 .

예를 들어, 다음을 파이프하면stdin

file1: line 4
file1: line 5
file1: line 6
file2: line 1
file2: line 2
file2: line 1
file53: line 67
file24: line 412

파일당 한 줄만 추출하는 방법이 있습니까? 예를 들면 다음과 같습니다.

file1: line 4
file2: line 1
file53: line 67
file24: line 412

또는 더 나은 방법은 다음과 같습니다.

file1
file2
file53
file24

감사합니다

답변1

이는 다음과 같은 몇 가지 일반적인 유틸리티를 사용하여 쉽게 수행할 수 있습니다.

cut -d : -f 1 input.txt | uniq
  • cut입력 파일에서 필드를 추출합니다. -d구분 기호(이 경우 a :) 를 나타내며 -f 1첫 번째 필드를 추출함을 나타냅니다.
  • uniq입력에서 중복된 인접 행 제거

답변2

모든 결과의 형식이 동일하므로(파일은 디렉토리에 있음 src/) 다음을 사용할 수 있습니다.

cat input.txt | tr ':' '\n' | grep 'src/' | uniq

관련 정보