HDFSにフィードがあります。
3番目の列が空でない行を見つける必要があります。
区切り文字で区切られたフィード|
SQLに対応
select * from feed_table where column_3 is not null;
入力する:
1|abc|123
2|def|
3|ff|124
4|gh|
出力:ここの3番目の列は空ではありません。
1|abc|123
3|ff|124
答え1
awk
これに使用できます。 awkの区切り文字を次に設定し、3番目の列が空の文字列ではないことを|
確認してください。
$ 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
2つのgrep
オプション:
grep -v '|$' < input
上で見つけた行いいえ端にチューブがあります。データファイルにただ3つの列がある場合、最後の(2番目の)パイプの後にデータのない行を見つける(除外)ショートカットです。
grep '|[^|].*|.' < input
上記はもう少し厳しいです。パイプ記号が必要で、その後に[^|]
パイプ記号()以外の記号が続き、その後にパイプ記号が続きます。何(.
)。これにより、空きスペースが許可されます。最初大地。