如何从linux上的文件获取requred字段?

bal*_*aji 0 unix linux shell

我有一个文件,其中包含由两个空格分隔的三个字段.我需要从文件中获取第三个字段.文件内容如下例所示:

kuldeep  Mirat  Shakti
balaji  salunke  pune
.
.
.
Run Code Online (Sandbox Code Playgroud)

我如何获得第三个字段?

kur*_*umi 5

要获得第3个字段,假设您没有任何"嵌入空间",只需

awk '{print $3}' file
Run Code Online (Sandbox Code Playgroud)

默认情况下,awk将空格设置为字段分隔符.因此,即使您有2个或更多空格,第3个字段总是3美元.

但是,如果要特定,请指定字段分隔符

awk -F"  " '{print $3}' file
Run Code Online (Sandbox Code Playgroud)

如果你有其他选择,那就是Ruby

ruby -F"  " -ane 'print $F[2]' file
ruby -ane 'print $F[2]' file
Run Code Online (Sandbox Code Playgroud)

更新:如果您需要在第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
Run Code Online (Sandbox Code Playgroud)

  • @balaji,这不是你的问题所说的.请编辑您的问题以满足您的实际要求. (2认同)