首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unix命令readlink、xargs、sed、cut

Unix命令readlink、xargs、sed、cut
EN

Stack Overflow用户
提问于 2013-09-18 19:27:00
回答 1查看 1.4K关注 0票数 0

我在某个地方读到了这个命令..不知道这是什么。

代码语言:javascript
复制
find . -maxdepth 1 -type f -follow | cut -d/ -f2 | xargs -I % readlink -f  % | cut -d\/ -f7,14 | sed 's/\// /g' | sort

我搜索了一下,得到了最大深度和类型的含义,但不是关于-followcut -f -f2readlinksed

-f7,14是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2013-09-19 04:06:08

分解它是最好的方法。

首先,在当前目录中运行find命令。,通过使用值1和仅限于文件(类型f)的搜索类型,将搜索深度限制为仅限于当前目录,并在通过使用-follow获得符号链接的情况下使用实际文件属性。例如,遵循符号链接。

也就是说到这里

查找。-maxdepth 1 -type f -follow

从这里开始,如果分隔符是/ (-d/),则简单地剪切第二个字段(-f2)以去除点-您将从find的清单中看到的当前目录。

直到这里找到为止。-maxdepth 1 -type f -follow |-maxdepth -d/ -f2

然后通过管道将输出输出到xargs,并运行命令readlink,该命令以规范化模式打印链接到符号链接的实际文件(给出链式链接文件的名称) Check example here

然后,如果分隔符是"\“,则将输出传递给cut以获得第7和第14个字段。

只有当你有那个深度的链接时,你才能看到从这里开始的任何输出,但这是可能的。

然后使用sed的/g‘搜索输出中的"\“(转义由/完成)并替换为”“空格。sed的全局搜索和替换模式-将所有出现的\替换为“”空格。

命令的目的是什么?我认为它会先查找符号链接,然后再找到实际的链接文件。我不太明白为什么只删掉第7和第14栏,然后用斜杠代替斜杠。可能用户正在寻找特定深度的目录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18871000

复制
相关文章

相似问题

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