MMMIX 发表于 2007-08-29 20:34

原帖由 hansfly 于 2007-8-29 08:45 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
pwd | sed 's/\/[^\/]*$//'
不过, 楼主的环境不晓得有没有 sed :em10:

9er 发表于 2007-09-04 14:54

sed按道理说应该有.

MMMIX 发表于 2007-09-04 19:51

原帖由 9er 于 2007-9-4 14:54 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
sed按道理说应该有.
在楼主的环境中, dirname 都被裁减掉了.

westeast 发表于 2013-04-12 17:00

本帖最后由 westeast 于 2013-04-12 17:02 编辑

不用这么麻烦,在tcsh里直接采用下面的命令即可取得目录名和文件名,不用basename和dirname
   1826            % set a=/usr/local/foo.bar.baz
   1827            % echo $a:t:r:e


其中
$a:h 返回目录名
$a:t 返回文件名
$a:t:r 返回文件名中的除扩展名的部分
$a:t:e返回文件名中的扩展名
综上分析,$a:t:r:e 这里返回值bar
可以man tcsh | col -b > tcsh.usage.txt ;
然后在tcsh.usage.txt里参考HISTORY AND VARIABLE MODIFIER ENHANCEMENTS一节
页: 1 2 [3]
查看完整版本: shell 编程 取文件绝对路径