null이 아닌 열 찾기 |

null이 아닌 열 찾기 |

HDFS에 피드가 있습니다.

세 번째 열이 비어 있지 않은 행을 찾아야 합니다.

구분 기호로 구분된 피드|

SQL에 해당

select * from feed_table where column_3 is not null;

입력하다:

1|abc|123
2|def|
3|ff|124
4|gh|

출력: 여기의 세 번째 열은 비어 있지 않습니다.

1|abc|123
3|ff|124

답변1

awk이 작업 에 사용할 수 있습니다 . awk의 구분 기호를 다음으로 설정한 |다음 세 번째 열이 빈 문자열이 아닌지 확인하세요.

$ cat /tmp/foo 
1|abc|123
2|def|
3|ff|124
4|gh|
$ awk -F'|' '$3 != ""' /tmp/foo
1|abc|123
3|ff|124

답변2

두 가지 grep옵션:

grep -v '|$' < input

위에서 찾은 줄아니요끝에 튜브가 있습니다. 데이터 파일에오직세 개의 열이 있는 경우 마지막(두 번째) 파이프 이후에 데이터가 없는 행을 찾는(제외) 단축키입니다.

grep '|[^|].*|.' < input

위의 내용은 좀 더 엄격합니다. 파이프 기호가 있어야 하고 그 뒤에 [^|]파이프 기호( ) 이외의 기호가 오고 그 뒤에 파이프 기호가 옵니다.무엇( .). 이렇게 하면 빈 공간이 허용됩니다.첫 번째대지.

관련 정보