![](/img/trans.png)
[英]How to display the first word of each line in my file using the linux commands?
[英]how to print each word in each line using linux terminal?
假设有一个这样的文件。.(6个ID)
k0012, k0013
k40035, k3089
Glc, 3-PGA
我想使用linux终端在每一行中打印每个ID。 提前致谢
您可以使用tr:
tr ' ,' '\0\n' file
或gnu-sed:
sed 's/, */\n/g' <file
或gnu awk:
awk -F, '{print $1}' RS='[[:space:]]+' file
使用grep
:
$ grep -oP "\b[^\s,]*\b" inputfile
k0012
k0013
k40035
k3089
Glc
3-PGA
从您的“输入”中,尚不清楚ID是由空格还是由空格和逗号分隔。 如果后者是正确的,那么您可能需要同时处理以下两者:
tr ' ,' '\n\n' < myfile | uniq
(您需要使用uniq
删除那些多余的空行,尽管使用awk
可能会更好一些):
tr ' ,' '\n\n' < myfile | awk 'NF > 0'
你在追吗 使用此输入: (6 Ids) k0012, k0013 k40035, k3089 Glc, 3-PGA
$ awk -F'[, ]*' '{for(i=3;i<=NF;i++)print $i}' input
k0012
k0013
k40035
k3089
Glc
3-PGA
如果输入是:
k0012, k0013
k40035, k3089
Glc, 3-PGA
尝试:
$ awk -F'[, ]*' '{for(i=1;i<=NF;i++)print $i}' input
k0012
k0013
k40035
k3089
Glc
3-PGA
...或者只有两列:
awk -F'[, ]*' '{printf("%s\n%s", $1, $2)}' input
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.