在特定列中选择唯一值

在特定列中选择唯一值

我尝试使用以下内容:

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您遇到了默认使用的任何空白(制表符或空格的运行)作为其分隔符,并且您的第一个字段包含空格,导致实用程序错误解释第一个字段单词作为第一个字段。

相关内容