많은 양의 데이터가 열로 정리된 파일이 있는데 $18 열에 동일한 값이 있는 첫 번째 열 $1의 데이터 수를 추출하고 싶습니다.
답변1
여기서 "열"은 무엇을 의미합니까? 이 탭은 구분되어 있습니까?
다음과 같은 경우를 가정해 보겠습니다.
awk -F'\t' '$1 == $18'
다른 구분 기호를 사용하는 경우 에 전달된 값을 변경하세요 -F
.
답변2
빈 필드가 있고 필드에 줄 바꿈이 없는지 여부를 지정하지 않았습니다. 일반적으로 말하면, 물론 이것이 단순한 CSV 파일이 아닌지 확인할 수 없는 경우에는 적절한 CSV 파싱 라이브러리를 사용해야 합니다. 예를 들어 Python의 경우:
import csv
fp = csv.reader(open('your_input.csv'))
for line in fp:
if line[0] == line[17]:
print(line[0])
이러한 라이브러리는 CSV 파일 형식의 대부분의 차이점을 자동으로 처리하고(예: 로케일/언어에 따라 쉼표 대신 세미콜론을 사용할 수 있으므로) 여러 줄로 묶인 따옴표 필드를 처리합니다.