ls:如何在每一行显示目录+文件名

Abd*_*del 2 unix bash ls

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

ls /home/directory -R | grep ".ext" > files.txt
Run Code Online (Sandbox Code Playgroud)

这不会给我我正在寻找的输出...理想情况下我想要一个看起来像这样的输出:

/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
Run Code Online (Sandbox Code Playgroud)

甚至更好,目录和文件名在不同的列中:

/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
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*ttH 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
Run Code Online (Sandbox Code Playgroud)

如果需要整个路径,请将目录参数显示为从root查找为绝对目录路径.