获得BASH中第n列的最短路径

时间:2013-12-23 16:38:45

标签: bash awk cut

这有效:

echo column1 column2 |awk '{print $2}'

这是一个较短的字符:

echo column1 column2 |cut -d " " -f 1

有更短的方法吗?

4 个答案:

答案 0 :(得分:2)

假设您使用bash作为shell,数组可以很好地工作,并避免分支外部进程:

$ x="one two three"
$ y=(${x})                 # note - no quotes, so we split on spaces
$ echo ${y[1]}
two
$

答案 1 :(得分:0)

kent$  echo column1 column2|grep -Eo '\S*$'
column2

kent$  echo column1 column2|awk '$0=$2'    
column2

kent$  echo column1 column2|sed 's/.* //'
column2

这假设echo ...部分已修复..

答案 2 :(得分:0)

你可以试试这个:

awk '$0=$2'

答案 3 :(得分:0)

echo column2是最简单的方法,因为它不需要管道,并且在回声之外使用零字符。