获取字符串的一部分就像访问数组一样?

时间:2013-03-31 12:01:30

标签: shell

在shell中,

s="abc\tdef\tghi"   # 3 words separated by \t

如果我想获得def的第二个单词怎么办?

PS

我知道cut可以完成这项任务,但其他方式就像变量替换一样吗?

2 个答案:

答案 0 :(得分:2)

cut怎么样?

[cnicutar@ariel ~]$ echo -e $s | cut -f2
def

或者awk

echo -e $s | awk '{print $2}'

答案 1 :(得分:1)

也许你正在寻找这个。

s="abc\tdef\tghi"
s=${s#*\t}
s=${s%\\t*}
echo $s