Imprimir todos os arquivos na pasta e nas subpastas

1

Eu tinha 5 pastas, cada uma com alguns arquivos (2-3).

Eu queria imprimir todos eles de uma só vez. Eu encontrei maneiras de fazê-lo no Linux, mas não consegui fazê-los funcionar aqui.

As duas alternativas que encontrei para o Linux foram:

find -tipo f -print0 | xargs -0 ls -t

encontrar . -type f -printf "% T @% p \ n" | sort -nr | corte -d \ -f2-

Como faço isso em um Mac?

Eu prefiro não baixar nenhum pacote para isso e fazer isso apenas através do terminal.

Wyatt
fonte
1
O que acontece se você tentar os comandos no Terminal?
nohillside
-t não é reconhecido e printf não definido respectivamente.
Wyatt
Está findreclamando -t, não ls:-)
nohillside

Respostas:

2

Uma maneira fácil de obter o mesmo resultado é

find . -type f

que basicamente é idêntico ao

find . -type f -print0 | xargs -0 -n 1 ls
nohillside
fonte
1
O -tseu lscomando é supérfluo. findnão faz nenhum pedido baseado em tempo; e, como apenas um arquivo de cada vez é passado para xargs, classificar um arquivo de cada vez pela data do arquivo (como -tnormalmente faria) não é muito útil.
Kent
1

O POSIX requer a especificação do argumento do caminho para find(como em find .vez de find) e -printfé uma extensão do GNU.

Listar arquivos regulares classificados por data de modificação:

find . -type f -exec stat -f'%m %N' {} + | sort -rn | cut -d' ' -f2-
zsh -o dotglob -c 'printf %s\\n **/*(.om)'

Listar arquivos regulares:

find . -type f
zsh -o dotglob -c 'printf %s\\n **/*(.)'

Listar todos os arquivos (incluindo diretórios):

find .
shopt -s globstar dotglob; printf %s\\n ** # bash 4.0 or later
brew install tree; tree -a . # -a includes files that start with .
mdfind 'kMDItemFSInvisible=1||kMDItemFSInvisible=0' -onlyin .

Listar somente diretórios:

find . -type d
shopt -s globstar dotglob; printf %s\\n **/ # bash 4.0 or later
tree -ad .
Lri
fonte