Linux 截断的find./command
如果我找到了。/,我得到的结果类似于:Linux 截断的find./command,linux,unix,find,Linux,Unix,Find,如果我找到了。/,我得到的结果类似于: /Volumes/FulfilmentArray//.Trashes/1060/ffmpeg2pass-0.log.mbtree.temp 是否有方法执行find./命令以仅返回文件名和容器文件夹?在上述情况下,应为: 1060/ffmpeg2pass-0.log.mbtree.temp 我相信awk可以换成sed。我添加了-typef标志,因为您提到了文件名,但是如果您也需要目录,只需删除它 find ./ -type f|awk -F'/' '{
/Volumes/FulfilmentArray//.Trashes/1060/ffmpeg2pass-0.log.mbtree.temp
是否有方法执行find./命令以仅返回文件名和容器文件夹?在上述情况下,应为:
1060/ffmpeg2pass-0.log.mbtree.temp
我相信awk可以换成sed。我添加了-typef标志,因为您提到了文件名,但是如果您也需要目录,只需删除它
find ./ -type f|awk -F'/' '{ print $(NF-1)"/"$NF }'
我相信awk可以换成sed。我添加了-typef标志,因为您提到了文件名,但是如果您也需要目录,只需删除它
find ./ -type f|awk -F'/' '{ print $(NF-1)"/"$NF }'
这可能是一种解决方法:
find . | awk -F "/" '{ if (NF > 2) { print $(NF-1) "/" $NF; } else { print $NF; }}'
这可能是一种解决方法:
find . | awk -F "/" '{ if (NF > 2) { print $(NF-1) "/" $NF; } else { print $NF; }}'
一个小小的解释可能会大有帮助。使用的命令包括:
rev:反转每行中字符的顺序。
剪切:从每行文件中删除节。
因此,前面的代码通过一个示例执行以下操作:
打印出相对于当前目录所在位置的所有文件的路径
./Machine Learning - Stanford/Self-notes/08-10.txt
反转路径字符串
txt.01-80/seton-fleS/drofnatS - gninraeL enihcaM/.
在保留第一部分的第二个正斜杠处剪切字符串,以便包含文件名和包含文件夹,相对于在其中执行查找的文件夹
txt.01-80/seton-fleS --separated here-- /drofnatS - gninraeL enihcaM/.
逆转结果
Self-notes/08-10.txt
一个小小的解释可能会大有帮助。使用的命令包括:
rev:反转每行中字符的顺序。
剪切:从每行文件中删除节。
因此,前面的代码通过一个示例执行以下操作:
打印出相对于当前目录所在位置的所有文件的路径
./Machine Learning - Stanford/Self-notes/08-10.txt
反转路径字符串
txt.01-80/seton-fleS/drofnatS - gninraeL enihcaM/.
在保留第一部分的第二个正斜杠处剪切字符串,以便包含文件名和包含文件夹,相对于在其中执行查找的文件夹
txt.01-80/seton-fleS --separated here-- /drofnatS - gninraeL enihcaM/.
逆转结果
Self-notes/08-10.txt
谢谢这是否比正常的find命令花费更长的时间?我需要在一个包含大约1M个文件的卷上运行此操作。在出现类似于./file的结果时,保留前导斜杠,即文件位于当前目录中。@David542大约长1-2秒。与查找时间相比,这不是一个因素:因为你有大量的数据,这是很多管道。如果您在bash中,则每个管道都是一个子shell,并获得自己的数据副本。在完成所有子shell之前,不会释放此内存。谢谢。这是否比正常的find命令花费更长的时间?我需要在一个包含大约1M个文件的卷上运行此操作。在出现类似于./file的结果时,保留前导斜杠,即文件位于当前目录中。@David542大约长1-2秒。与查找时间相比,这不是一个因素:因为你有大量的数据,这是很多管道。如果您在bash中,则每个管道都是一个子shell,并获得自己的数据副本。在完成所有子shell之前,不会释放此内存。