findコマンドを実行したいのですが、シンボリックリンク自体ではなくターゲットを返すようにしたいのです。
HP-UXでそれを行うことは可能ですか?
たとえば、次のようになります。
security -> /dev/vg_irp_ist/rlv_IRP1_security
帰りたく/dev/vg_irp_ist/rlv_IRP1_security
ないsecurity
。
#!/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