特定の列の固有値の選択

特定の列の固有値の選択

私は以下を試してみました。

awk '{print $1}' your_file | sort | uniq

ただし、出力は予想とは異なります。私が興味のある列値の例は次のとおりです。

"Non-cancer illness code, self-reported"
"Birth weight known" 

各フィールドのスペースは問題を引き起こしますか?では、どうすれば解決できますか?ありがとうございます!

答え1

抽出されたファイルの最初のタブ文字を使用してフィールドを区切るには、フィールド区切り文字がタブに設定されていることをawk確認してください。以下のように\tオプション引数をオプションに指定することでこれを行うことができます-F

awk -F '\t' '{ print $1 }' file

cutタブがデフォルトの区切り文字であり、他のクールなタスクを実行する必要はないので、ここで使用するのも比較的簡単です。

cut -f 1 file

sort | uniq一意の行を取得するには渡し、sort -u入力を減らすには渡します。


あなたが経験している問題は、awkあなたがデフォルトで実行されているということですスペース(タブまたはスペースの実行)を区切り文字として使用し、最初のフィールドにスペースが含まれているため、ユーティリティは最初のフィールドを誤って解釈します。言葉最初のフィールドとして。

関連情報