羲之遗韵 发表于 2013-11-04 16:56

如何根据软链接获取目标文件的全路径?

本帖最后由 羲之遗韵 于 2013-11-04 16:57 编辑

在当前目录(/home/users/zdd/),有一个软链接.test.pl 它指向一个文件(/home/users/tmp/abc/test_date.pl)
现在我要根据.test.pl获取他的目标文件/home/users/tmp/abc/test.pl
stackoverflow上说可以用readlink或者realpath,但是我的系统上没有这两个命令。我的系统是 SunOS hostname 5.10 Generic_118822-30 sun4u sparc SUNW,Sun-Fire-V440
有其他的办法么?

我的需求是这样的,我想获取log的日期信息,但是这个软链接的文件名里面没有,而目标文件(test_date.pl)上有。所以我就想获取这个目标文件,然后把日期解析出来。

同事推荐我用ls -l 然后自己解析一下输出,这个办法可行,但是有点笨,有没有更好的办法?谢谢!

to407 发表于 2013-11-04 21:48

如果想用gnu的东西,装gnu套件,用greadlink

如果要专业一点。看这个

http://www.opensolarisforum.org/man/man2/lstat.html

q1208c 发表于 2013-11-05 14:46

可以用 perl 的mod , dirname(abs_path($0))

羲之遗韵 发表于 2013-11-25 10:20

回复 2# to407


    谢谢,这个确实专业,最后还是用了awk配合ls。

羲之遗韵 发表于 2013-11-25 10:21

回复 3# q1208c


    谢谢,忘记了说,Shell编程,不能用Perl。

q1208c 发表于 2013-11-25 14:45

回复 5# 羲之遗韵


.test.pl 难道是个 shell 脚本? :em16: :em16:
我去面壁从零学起去. :em15: :em15:   

zhuangpeipei 发表于 2013-11-26 09:02

ls -lLlinkfile

路过一下,人气下滑之严重,UNIX被淘汰是不可阻挡了。

羲之遗韵 发表于 2013-11-26 09:46

回复 7# zhuangpeipei
试了,没用。


   

羲之遗韵 发表于 2013-11-26 09:47

回复 6# q1208c
请仔细看一下我的描述,test.pl是我要处理的对象,不是脚本本身。


   

q1208c 发表于 2013-11-27 14:42

回复 9# 羲之遗韵

好吧, 我面壁去.:em06:

不过, 多说一句, 如果 perl 自己可以处理这些事. 你为啥还要再多一层 shell ? :mrgreen:

   
页: [1] 2
查看完整版本: 如何根据软链接获取目标文件的全路径?