获取文件列表及其绝对路径
get the list of files hirarchically with its absolute path
我想要如下例所示的输出。
root@aklinux139:~/.atom# du -sh */* | awk '{print }'
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 没有给出任何 options/arguments 的输出。
'ls -R
' 给出路径,然后给出其内容而不是文件名及其绝对路径。
我在写脚本的时候经常需要这个,有人可以帮我吗?提前谢谢堆。
可以使用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
试试这个 -
find / -name "*" |head
/
/var
/var/games
/var/yp
/var/kerberos
/var/kerberos/krb5
/var/kerberos/krb5/user
/var/.updated
/var/nis
/var/account
我想要如下例所示的输出。
root@aklinux139:~/.atom# du -sh */* | awk '{print }'
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 没有给出任何 options/arguments 的输出。
'ls -R
' 给出路径,然后给出其内容而不是文件名及其绝对路径。
我在写脚本的时候经常需要这个,有人可以帮我吗?提前谢谢堆。
可以使用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
试试这个 -
find / -name "*" |head
/
/var
/var/games
/var/yp
/var/kerberos
/var/kerberos/krb5
/var/kerberos/krb5/user
/var/.updated
/var/nis
/var/account