![두 필드의 값이 동일한 경우 행을 인쇄하는 방법은 무엇입니까?](https://linux55.com/image/105605/%EB%91%90%20%ED%95%84%EB%93%9C%EC%9D%98%20%EA%B0%92%EC%9D%B4%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EA%B2%BD%EC%9A%B0%20%ED%96%89%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 유닉스를 처음 접했고 데이터 하위 집합에 관한 질문이 있습니다. 누구의 도움에도 감사하겠습니다. 수백만 개의 행이 있는 23G 입력 파일이 있지만 첫 번째와 네 번째 열이 동일한 행(대괄호 이름)만 유지하고 싶습니다. 내 데이터 세트의 처음 몇 행은 다음과 같습니다.
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 999 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1029 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1044 NA -0.0463767871013283
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1045 NA -0.939576278422824
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1130 NA -0.0831304705346077
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1180 NA -0.931681175211672
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1187 NA -0.940010336852543
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1202 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1224 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1269 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1313 NA -0.201478578143067
tscaffold94_798049_802097 999 NA tscaffold94_798049_802097 1384 NA 1
tscaffold94_798049_802097 999 NA tscaffold94_878564_884314 3259 NA -0.595441932439136
tscaffold94_798049_802097 999 NA tscaffold94_878564_884314 3304 NA 0.745699172241005
tscaffold94_798049_802097 999 NA tscaffold94_878564_884314 3319 NA -0.570318634275133
tscaffold94_798049_802097 999 NA tscaffold94_878564_884314 3588 NA -0.60363963711489
답변1
awk
이 경우에는 열이 스크립트의 변수가 되므로 awk
동등성을 쉽게 확인하고 인쇄(현재 행 암시)와 같은 작업을 수행할 수 있습니다.
awk '{if($1 == $4) print}' < input