我在某处读到了这个命令..不知道它是什么。
find . -maxdepth 1 -type f -follow | cut -d/ -f2 | xargs -I % readlink -f % | cut -d\/ -f7,14 | sed 's/\// /g' | sort
我搜索了它,得到了maxdepth和类型的意思,但不是关于-follow
,cut -f -f2
,readlink
和sed
。
-f7,14
是什么意思?
答案 0 :(得分:1)
分解是最好的方法。
首先在当前目录中运行find命令。 ,通过使用值1和搜索类型仅限于文件(类型f)将搜索范围限制为仅限于当前目录,并在使用-follow获取符号链接时使用实际文件属性。即遵循一个符号链接。
即到这里
找到。 -maxdepth 1-type f -follow从那里简单剪切 - 如果分隔符是/( - d /)去除点 - 第二个字段(-f2),那么你将从find的列表中看到当前目录。
直到这里 找 。 -maxdepth 1-type f -follow | cut -d / -f2
然后将输出传递给xargs并运行一个命令readlink,它打印链接到canonicalize模式的符号链接的实际文件(给出链链接文件的名称)Check example here
如果分隔符为“\”,则输出传递给cut以获取第7和第14个字段。
只有在您拥有与该深度相关的链接时才能看到此处的任何输出,但这是可能的。
然后使用sed的/// / g'输出搜索“\”(转义由/完成)并替换为“”空格。 sed的全局搜索和替换模式 - 用“”空格替换所有出现的\。
命令的意图是什么?我认为它寻找符号链接,然后找到实际的链接文件。我不太明白切割第7和第14场然后用斜线替换斜线的原因。可能用户正在寻找特殊深度的目录。