用绝对路径获取文件列表

时间:2017-02-27 18:38:29

标签: list awk ls

我想要输出,如下例所示。

root@aklinux139:~/.atom# du -sh */* | awk '{print $2}'
blob-store/BLOB
blob-store/INVKEYS
blob-store/MAP
compile-cache/less
compile-cache/root
compile-cache/style-manager
packages/README.md
storage/application.json
root@aklinux139:~/.atom# 

但ls不会为此输出提供任何选项/参数。 ' ls -R'给出路径,然后它的内容不是文件名及其绝对路径。

编写脚本时我经常需要这个,有人可以帮助我吗?提前谢谢堆。

2 个答案:

答案 0 :(得分:0)

您可以使用find,深度为2的示例:

find . -maxdepth 2 -mindepth 2 -printf '%P\n'

如果要排除点文件:

find . -maxdepth 2 -mindepth 2 -not -path '*/\.*' -printf '%P\n'

如果要对结果进行排序(du -sh):

find . -maxdepth 2 -mindepth 2 -not -path '*/\.*' -printf '%P\n' | sort

答案 1 :(得分:0)

试试这个 -

find / -name "*" |head
/
/var
/var/games
/var/yp
/var/kerberos
/var/kerberos/krb5
/var/kerberos/krb5/user
/var/.updated
/var/nis
/var/account