用AWK或SED获取每一行的第一个字?

时间:2017-07-03 03:52:35

标签: awk sed split

我有一个这样的文本文件:

aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii
...
..
.

如何仅使用awksed这样的每一行的第一列创建文本文件?

aaaa
dddd
gggg
...
..
.

我见过类似的话题,但我无法解决我的问题!

2 个答案:

答案 0 :(得分:5)

如果你的输入是

aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii

你想要的是:

aaaa
dddd
gggg

然后你可以使用以下任何一个:

awk '{print $1}' input.file
sed 's/ .*//'  input.file
cut -d' ' -f1 input.file

HTH

答案 1 :(得分:0)

使用awk:通过将字段数设置为1:

awk '{NF=1}1' inputfile   

使用grep并环顾四周:

grep -oP '^.[^ ]+' inputfile

使用sed backrefrencing:

sed -r 's/(^.[^ ]+).*/\1/' inputfile