大量のデータが列にまとめられたファイルがあり、$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ファイル形式のほとんどの違いを自動的に処理し(たとえば、ロケール/言語に応じてカンマではなくセミコロンを使用できるため)、複数行に囲まれた引用符フィールドを処理します。