首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >readlink -f不处理多个文件

readlink -f不处理多个文件
EN

Unix & Linux用户
提问于 2015-01-12 10:32:40
回答 2查看 3.2K关注 0票数 2

我试图使用readlink -f在多个文件上运行wildcard "*",但它将其他文件计算为操作数。

命令

代码语言:javascript
复制
readlink -f *log

输出(所需)

代码语言:javascript
复制
/home/trail_1.log
/home/trail_2.log

我做错什么了吗?我正在使用tcshreadlink是唯一的命令,我知道读取文件的路径。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-01-12 11:42:00

您还可以使用realpath

代码语言:javascript
复制
% realpath *
/data/code/mdweb/Gemfile
/data/code/mdweb/Gemfile.lock
/data/code/mdweb/README.markdown

realpath不是POSIX。默认情况下,它可以在FreeBSD系统和某些(但不是全部) Linux系统上使用(但在大多数(如果不是全部) Linux系统上都可以作为包安装)。

realpath的S行为在不同的实现中可能是不同的,所以上面的行为不一定能工作。我已经在FreeBSD 10 & Arch上测试了它。

票数 3
EN

Unix & Linux用户

发布于 2015-01-12 10:39:04

readlink只处理一个文件,您需要一个循环来完成这一任务:

代码语言:javascript
复制
for f in *; do
  readlink -f -- "$f"
done
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/178700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档