0

我在某处读过这个命令..不知道它是什么。

find . -maxdepth 1 -type f -follow | cut -d/ -f2 | xargs -I % readlink -f  % | cut -d\/ -f7,14 | sed 's/\// /g' | sort

我搜索了它,得到了 maxdepth 和 type 的含义,但不是关于-follow,cut -f -f2和.readlinksed

是什么-f7,14意思?

4

1 回答 1

1

打破它是最好的方法。

首先在当前目录中运行一个查找命令。,通过使用值 1 将搜索深度限制为仅到当前目录,搜索类型仅限于文件(类型 f),并使用实际文件属性以防它通过使用 -follow 获得符号链接。即按照符号链接。

即到这里

寻找 。-maxdepth 1 -type f -follow

从那里简单剪切 - 如果分隔符是 / (-d/) 则剪切第二个字段 (-f2) 以删除点 - 您将从查找列表中看到的当前目录。

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

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

如果分隔符为“\”,则将输出传递给 cut 以获取第 7 和第 14 字段。

仅当您具有与该深度的链接时,您才会从此处看到任何输出,但这是可能的。

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

该命令的意图是什么?我认为它会查找符号链接,然后找到实际的链接文件。我不太明白只切割第 7 和第 14 字段然后用斜线替换的原因。可能用户正在寻找特殊深度的目录。

于 2013-09-18T20:06:08.047 回答