我想要输出,如下例所示。
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
'给出路径,然后它的内容不是文件名及其绝对路径。
编写脚本时我经常需要这个,有人可以帮助我吗?提前谢谢堆。
答案 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