我需要从bash中的字符串中提取特定单词。
我有一个String" xxx / yyy / zzz / foo.txt"从这个字符串我需要提取" zzz"。
input="xxx/yyy/zzz/foo.txt"
((length = ${#input} - 8))
subString= {$file:0:$length}
name= $subString | rev | cut -d "/" -f1 | rev
echo $name
在这里,我得到了一个错误,如" xxx / yyy / zzz / foo.txt":0:52}:没有这样的文件或目录" at line:subString = {$ file:0:$ length}
有人对此有所帮助吗?
答案 0 :(得分:2)
如果您正在处理文件名,可以使用basename
和dirname
命令:
$ input="xxx/yyy/zzz/foo.txt"; echo $(basename $(dirname $input))
zzz