2013-03-26 38 views
2

我想執行查找命令,但我希望它返回目標而不是符號鏈接本身。如何使查找返回hpux中符號鏈接的目標?

在HP-UX中可以這樣做嗎?

例如,使用:

security -> /dev/vg_irp_ist/rlv_IRP1_security

我想回到/dev/vg_irp_ist/rlv_IRP1_security而不是security

+0

嘗試'find -L'。從手冊頁中,'-L Follow symbolic links' – fedorqui 2013-03-26 11:21:29

+0

它提供來自目標的信息,但顯示的名稱仍然是符號鏈接。 – 2013-03-26 12:02:33

+0

Uhms,您可能需要將問題移至[su]。 – fedorqui 2013-03-26 15:22:48

回答

3
#!/bin/ksh 
name=$(find /path/to/dir -type l -name whatever -exec ls -l {} \; |awk -F '>' '{print $2}') 

HPUX沒有readlink命令。如果您安裝了GNU coreutils,請使用readlink。否則,你堅持以上。

這是backwrds版本 - 給定通過鏈接找到它的實際文件名。注意鏈接中的相對路徑:即,../../foo/filename

export filename="xz.exe" 
find . -type l -exec ls -l {} \; | 
    awk '{print $(NF)}') | grep -q "$filename" && echo $val 
+0

我想找到符號鏈接的目標名稱,而不是符號鏈接本身的名稱,你知道我該如何改變它? – 2013-03-26 13:26:42

+0

請參閱編輯以回答。注意相對路徑。 – 2013-03-28 11:40:14

相關問題