Rhe*_*hea 6 command-line text-processing
我想打印这个文件的第 1 列。我使用了这个命令:awk '{print $1}'但它只打印了第一列的第一个单词。
数据
ABC transporters ABC transporters
Alanine, aspartate and glutamate metabolism Alanine, aspartate
alpha-Linolenic acid metabolism alpha-Linolenic acid metabolism
Aminoacyl-tRNA biosynthesis Aminoacyl-tRNA biosynthesis
Amino sugar and nucleotide sugar metabolism Amino sugar and nucleotide
Arachidonic acid metabolism Arachidonic
Run Code Online (Sandbox Code Playgroud)
输出:
ABC
Alanine,
alpha-Linolenic
Aminoacyl-tRNA
Amino
Arachidonic
Run Code Online (Sandbox Code Playgroud)
期望输出:
ABC transporters
Alanine, aspartate and glutamate metabolism
alpha-Linolenic acid metabolism
Aminoacyl-tRNA biosynthesis
Amino sugar and nucleotide sugar metabolism
Arachidonic acid metabolism
Run Code Online (Sandbox Code Playgroud)
mur*_*uru 14
由于这似乎是一个固定宽度的列,因此您可以只cut输入相应的字符。最宽的列Alanine, aspartate and glutamate metabolism似乎有 44 个字符宽,因此:
$ cut -c1-44 foo
ABC transporters
Alanine, aspartate and glutamate metabolism
alpha-Linolenic acid metabolism
Aminoacyl-tRNA biosynthesis
Amino sugar and nucleotide sugar metabolism
Arachidonic acid metabolism
Run Code Online (Sandbox Code Playgroud)
Rav*_*ina 14
我可以看到的是,您的列由两个空格分隔。
所以awk:
awk -F '\\s\\s' '{print $1}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3198 次 |
| 最近记录: |