我有一个包含一些数据的文件,我只想将第一列用作脚本的标准输入,但提取时遇到了麻烦。
我尝试使用这个
awk -F"\t" '{print $1}' inputs.tsv
但它仅显示第一列的首字母。我尝试了其他一些方法,但是它要么显示整个文件,要么仅显示第一列的第一个字母。
我的文件如下所示:
Harry_Potter 1
Lord_of_the_rings 10
Shameless 23
....
最佳答案
您可以使用在所有Unix和Linux系统上都可用的cut
:
cut -f1 inputs.tsv
您不需要指定
-d
选项,因为tab是默认的定界符。从man cut
:-d delim Use delim as the field delimiter character instead of the tab character.
正如本杰明正确说的那样,您的
awk
命令确实是正确的。 Shell将文字\t作为参数传递,而awk确实将其解释为制表符,而其他命令(如cut
)则可能不会。不知道为什么只得到第一个字符作为输出。
您可能需要看一下这篇文章:
关于awk - 如何从tsv文件中提取第一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49340780/