我有一个文件,其中包含由两个空格分隔的三个字段。我需要从文件中获取第三个字段。文件内容如下例所示:
kuldeep Mirat Shakti
balaji salunke pune
.
.
.
如何获得第三个字段?
答案 0 :(得分:5)
要获得第3个字段,假设您没有任何“嵌入空格”,只需
awk '{print $3}' file
默认情况下,awk将空格设置为字段分隔符。因此,即使你有2个或更多的空格,第3个字段总是3美元。
但是,如果您想要具体,请指定字段分隔符
awk -F" " '{print $3}' file
如果你有其他选择,那就是Ruby one
ruby -F" " -ane 'print $F[2]' file
ruby -ane 'print $F[2]' file
更新:如果您需要在第3天之后获取所有字段,
awk -F" " '{$1=$2=$3=""}1' OFS=" " file # add a pipe to `sed 's/^[ \t]*//'` if desired
ruby -F" " -ane 'puts $F[3..-1].join(" ")' file
答案 1 :(得分:2)
使用awk
:
awk -F' ' '{print $3}' file
如果字段可能包含嵌入空格,这也适用。
答案 2 :(得分:0)
要获取每行的第三个字段,请通过awk,例如
cat filename | awk '{print $3}'
如果你只想获得第一行的第三个字段,也可以使用head:
cat filename | head -n 1 | awk '{print $3}'
答案 3 :(得分:0)
鉴于@ balaji对@ kurani回答的评论:
perl -pe 's/^.*? .*? //' filename
awk -F' ' '{for(i=3; i<NF; i++) {printf("%s%s",$i,FS)}; print $NF}' filename
答案 4 :(得分:-2)
较少的文件名| cut -d“” - f 3