2

我有一个包含很多子目录的目录,我想在每一行列出其所有具有特定扩展名的文件,包括它们所在的(子)目录。我现在正在使用:

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

关于如何做到这一点的任何想法?非常感谢!

4

1 回答 1

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

如果您想要整个路径,请将您的目录参数显示为从根目录开始的绝对目录路径。

于 2013-03-25T12:32:05.677 回答