Ale*_*lex 10 command-line ls bash find
我正在尝试使用单行命令来查找命名的每个目录(或子目录)bin,然后打印其下所有文件的列表,但不会同时列出它们下的目录名称。
我尝试了几种不同的方法来实现这一点,但到目前为止都没有奏效:
find ~ -type d -name "bin" -exec ls '{}' ';' | grep -v /我对此进行了测试,它会列出文件,但也会列出任何 bin 下的目录。因此,如果我在bin目录下有一个bin子目录,如下所示:
~/home/
~/home/bin
file1.txt
~/home/bin/bin
file2.txt
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
bin
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)
find ~ -type d -name "bin" -exec ls -f '{}' ';'我读到这样做ls -f只会列出文件,但不幸的是,这也列出了目录bin,..并且.
那么我该怎么做呢?
mur*_*uru 13
使用-path,您可以尝试:
find ~ -path '*/bin/*' -type f
Run Code Online (Sandbox Code Playgroud)
这不会列出bin自己,所以要同时获得:
find ~ \( -path '*/bin/*' -type f \) -o \( -name bin -type d \)
Run Code Online (Sandbox Code Playgroud)