Bash 目录下所有csv文件的第一列中设置的唯一条目

Bash 目录下所有csv文件的第一列中设置的唯一条目,bash,shell,awk,tcsh,Bash,Shell,Awk,Tcsh,我在目录下有一个逗号分隔的文件列表。没有标题,不幸的是,每行的标题长度都不相同 我想在所有文件的第一列中找到唯一的条目 在shell编程中,最快的方法是什么 awk -F "," '{print $1}' *.txt | uniq 似乎只获取每个文件的uniq条目。我需要所有文件。Shortest仍在使用awk(这将打印该行) 只得到第一个字段 awk -F, '!a[$1]++ {print $1}' *.txt 它不打印单个元素,而是在我的机器上打印整行(GNU Awk 3.1.5)。你

我在目录下有一个逗号分隔的文件列表。没有标题,不幸的是,每行的标题长度都不相同

我想在所有文件的第一列中找到唯一的条目

在shell编程中,最快的方法是什么

awk -F "," '{print $1}' *.txt | uniq

似乎只获取每个文件的uniq条目。我需要所有文件。

Shortest仍在使用awk(这将打印该行)

只得到第一个字段

awk -F, '!a[$1]++ {print $1}' *.txt

它不打印单个元素,而是在我的机器上打印整行(GNU Awk 3.1.5)。你可能是指这个
awk-F'!一个[$1]+{print$1}'*.txt
@chatraed yes,默认是打印行,需要添加
{print$1}
才能获得第一个字段。谢谢。但是为什么我的剧本不起作用呢
awk-F“,“{print$1}”*.txt | uniq
@CodeNoob uniq仅适用于排序列表,重复项需要连续。需要在awk和uniq之间插入排序。
awk -F, '!a[$1]++ {print $1}' *.txt