我在某个地方读到了这个命令..不知道这是什么。
find . -maxdepth 1 -type f -follow | cut -d/ -f2 | xargs -I % readlink -f % | cut -d\/ -f7,14 | sed 's/\// /g' | sort我搜索了一下,得到了最大深度和类型的含义,但不是关于-follow、cut -f -f2、readlink和sed。
-f7,14是什么意思?
发布于 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栏,然后用斜杠代替斜杠。可能用户正在寻找特定深度的目录。
https://stackoverflow.com/questions/18871000
复制相似问题