sailer 发表于 2005-8-5 19:40:45

编写shell脚本的问题

我从shell脚本中得到目录名,例如:/usr/local/aa/bb/cc
现在要把这个目录名中的cc提取出来,不知道用什么命令?

demonlj 发表于 2005-8-6 01:28:12

echo"/usr/local/aa/bb/cc" | cut -b 18-
上面可以土土的搞定,下面是用gawk的方法
echo"/usr/local/aa/bb/cc" | gawk -F"/" '{print $6}'

VimChina 发表于 2005-8-6 09:34:39

用basename这个命令就可以得到了 :mrgreen:

twf_cc 发表于 2005-8-7 13:06:37

$ a="/usr/local/aa/bb/cc"
$ echo ${a##*/}
cc
$

VimChina 发表于 2005-8-7 14:34:09

$ a="/usr/local/aa/bb/cc"
$ echo ${a##*/}
cc
$
why not use this method :

$ a="/usr/local/aa/bb/cc"
$ basename $a

twf_cc 发表于 2005-8-9 21:32:42

$ a="/usr/local/aa/bb/cc"
$ echo ${a##*/}
cc
$
why not use this method :

$ a="/usr/local/aa/bb/cc"
$ basename $a


因為是內建 bash 命令,快得多。

VimChina 发表于 2005-8-9 21:43:27

$ a="/usr/local/aa/bb/cc"
$ echo ${a##*/}
cc
$
why not use this method :

$ a="/usr/local/aa/bb/cc"
$ basename $a


因為是內建 bash 命令,快得多。
看看哪个更简洁,便于阅读和理解,所以我更喜欢用basename:)

zhy2111314 发表于 2005-8-10 08:27:54

basename is enough :-D

demonlj 发表于 2005-8-10 09:53:51

比较直接

sailer 发表于 2005-8-10 14:01:37

谢谢各位

haHAL 发表于 2005-8-15 03:52:21

$ a="/usr/local/aa/bb/cc"

用字符串操作命令:basename $a 可提取cc;剩下的部分可以用dirname$a 提取 。
页: [1]
查看完整版本: 编写shell脚本的问题