Bash:如何在没有awk的情况下逐字切割? [重复]

问题描述 投票:0回答:1

我有一个包含一些行和列的.tsv文件。

在列上称为“结果”,是第二列。

Bash代码:cut -f2非常适合选择“结果”中的内容。

但是如何在不知道列号的情况下使用cut命令选择此列,只有名称“result”。另外没有awk命令?

bash terminal cut
1个回答
0
投票

你可以尝试下面(因为没有提供样本所以没有测试它,也考虑到你的Input_file是,分隔,你可以通过改变它的FS=","部分来改变程序的分隔符)。

awk 'BEGIN{FS=","} FNR==1{for(i=1;i<=num;i++){if($i == "results"){column=i;break}};next} {print $column}' Input_file

上面不会打印列名,所以如果你想要打印非常第一行的列名(这是不合适的结果),那么请尝试以下操作。

awk 'BEGIN{FS=","} FNR==1{for(i=1;i<=num;i++){if($i == "results"){column=i;;print $i;break}};next} {print $column}' Input_file
© www.soinside.com 2019 - 2024. All rights reserved.