我在某处读过这个命令..不知道它是什么。
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
和.readlink
sed
是什么-f7,14
意思?
我在某处读过这个命令..不知道它是什么。
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
和.readlink
sed
是什么-f7,14
意思?
打破它是最好的方法。
首先在当前目录中运行一个查找命令。,通过使用值 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 字段然后用斜线替换的原因。可能用户正在寻找特殊深度的目录。