我有一个包含很多子目录的目录,我想在每一行列出所有带有特定扩展名的文件,包括它们所在的(子)目录。我现在正在使用:
ls /home/directory -R | grep ".ext" > files.txt
这不会给我我正在寻找的输出...... 理想情况下,我希望输出看起来像这样:
/home/directory/subdirectory1/file1.ext 4.3Mb
/home/directory/subdirectory1/subsubdir1/file2.ext 3.3Mb
/home/directory/subdirectory2/file3.ext 4.6Mb
/home/directory/subdirectory3/file4.ext 5.2Mb
... etc
甚至更好,目录和文件名在不同的列中:
/home/directory/subdirectory1/ file1.ext 4.3Mb
/home/directory/subdirectory1/subsubdir1/ file2.ext 3.3Mb
/home/directory/subdirectory2/ file3.ext 4.6Mb
/home/directory/subdirectory3/ file4.ext 5.2Mb
... etc
关于如何做到这一点的任何想法?非常感谢!
答案 0 :(得分:6)
find putty -type f -name '*.c' -printf "%h\t%f\t%s\n" | column -t
会产生类似这样的东西
putty sshzlib.c 38615
putty notiming.c 584
putty/charset macenc.c 7129
putty/charset sbcs.c 1190
如果您想要整个路径,请将您的目录参数显示为从根目录查找为绝对目录路径。