通过符号链接在同一目录中打印文件使用的完整路径

时间:2016-08-16 08:30:26

标签: bash shell symlink

您好我正在编写一个脚本,它将扫描dir的符号链接,该文件在dir中有一些输出,所以它将在下面看。

/opt/oracle/product/11.2.0.4/precomp/public/SQLDA.H -> sqlda.h

我需要打印完整路径,预期结果如下:

/opt/oracle/product/11.2.0.4/precomp/public/SQLDA.H -> /opt/oracle/product/11.2.0.4/precomp/public/sqlda.h 

ls或readlink中的任何选项或我可以在脚本中编写的其他方式吗?

这是我用来搜索修复链接的脚本

find $i -type l -ls 

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

readlink -f *

它将查看实际目录中的所有文件。对于符号链接,它将读取并打印链接指向的文件的完整路径。对于其他类型的条目(目录,普通文件),它将以完整路径打印文件名。

答案 1 :(得分:0)

如果您正在使用gnu find,则可以使用-printf选项:

find "$i" -type l -printf "$PWD/%h/%f -> $PWD/%h/%l\n"