텍스트 파일이 있고 "dhillon"이라는 이름을 검색 중입니다. 텍스트 파일에 많은 데이터가 포함되어 있지만 이름이 "dhillon"인 텍스트 파일의 첫 번째 부분을 찾으려고 합니다.
나는 그것을 시도했고 모든 이름을 grep dhillon name.txt
반환했지만 일부 이름은 성입니다. name 인 텍스트의 첫 번째 줄이 필요합니다 .dhillon
dhillon
dhillon
답변1
시도해 보세요: "nl name.txt | grep dhillon"
그러면 각 줄 앞에 줄 번호가 추가되고, 반환된 첫 번째 줄 번호는 파일의 첫 번째 dhillon 인스턴스입니다. 어디서 찾아야 하는지 알게 될 것입니다.
편집하다:opps, 방금 dhillon이 성일 수 있다는 걸 봤습니다... 다음을 시도해 보세요: "awk -F, '{ if ($2 == dhillon) print $0 }' name.txt" 또는 "nl name.txt | awk -F, ' { if ($3 == dhillon) $0 인쇄 }' "
두 번째 편집
데이터 파일이 다음과 같이 배치되어 있다고 말씀하셨습니다.
linenumber name name number number height
맞나요? 다음과 같이 보입니까?1 Terry Wendt 7 13 2M
아니면 이렇게 보입니까?1TerryWendt7132M
아니면 이렇게 보입니까?1,Terry,Wendt,7,13,2M
이것이 사람들이 질문할 때 예제 데이터를 묻는 이유입니다. 귀하의 데이터가 실제로 어떻게 배치되어 있는지 모르면 정확한 답변을 드릴 수 없습니다. 간단한 텍스트 데이터 파일로 검토됩니다.
- 일반적으로 각 행은 "레코드"입니다.
- 각 데이터 요소는 "이름"과 같은 "필드"입니다.
- 각 필드는 쉼표, 공백, 탭 또는 콜론과 같은 구분 기호로 구분됩니다. 하지 않는 한...
- 각 필드는 길이로 구분됩니다. IE에서는 "이름"이 첫 번째 공백으로 시작하고 길이는 26자입니다. 다음 필드는 27번째 위치에서 시작하여 26자 길이의 "lastname"일 수 있습니다.
여러 데이터 레코드(행)를 제공할 수 있나요? 아니면 데이터를 정확하게 표현하고 싶으신가요? 그렇지 않다면 누구도 당신을 도와줄 수 없습니다.