我试图找到一种方法来从变量中提取文本,其中的单词用正斜杠分隔。我尝试使用cut
,所以这是一个例子:
set variable = '/one/two/three/four'
说我只想从中提取three
,我用过:
cut -d/ -f3 <<<"${variable}"
但这似乎行不通。我做错了什么想法?或者有没有办法使用AWK来做到这一点?
答案 0 :(得分:2)
您需要在字符串或变量赋值期间删除=
之前和之后的空格。并告诉cut命令打印第4个字段。
$ variable='/one/two/three/four'
$ cut -d/ -f4 <<<"${variable}"
three
使用分隔符/
,cut命令将输入分割为。
/one/two/three/four
| | | | |
1 2 3 4 5
也就是说,当它在第一个斜杠上分割时,你得到一个空字符串作为第一列。
答案 1 :(得分:1)
我认为这里的主要问题在于你的任务。试试这个:
var='/one/two/three/four'
cut -d/ -f4 <<<"$var"
答案 2 :(得分:1)
以下是awk
版本:
awk -F\/ '{print $4}' <<< "$variable"
three
或
echo "$variable" | awk -F\/ '{print $4}'
three
PS设置set
不需要的变量,并删除=
variable='/one/two/three/four'