Alle Dateien in Ordnern und Unterordnern drucken

1

Ich hatte 5 Ordner mit jeweils ein paar Dateien (2-3).

Ich wollte sie alle auf einmal drucken. Ich habe Wege gefunden, dies unter Linux zu tun, aber ich konnte sie nicht dazu bringen, hier zu arbeiten.

Die beiden Alternativen, die ich für Linux gefunden habe, waren:

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

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

Wie mache ich das auf einem Mac?

Ich würde es vorziehen, dafür kein Paket herunterzuladen und dies ausschließlich über das Terminal zu erreichen.

Wyatt
quelle
1
Was passiert, wenn Sie die Befehle im Terminal ausführen?
Nohillside
-t wird nicht erkannt und printf nicht definiert.
Wyatt
Es findbeschwert sich über -t, nicht ls:-)
Nohillside

Antworten:

2

Eine einfache Möglichkeit, das gleiche Ergebnis zu erzielen, ist

find . -type f

das ist im Grunde identisch mit

find . -type f -print0 | xargs -0 -n 1 ls
nohillside
quelle
1
Das -tin deinem lsBefehl ist überflüssig. findführt keine zeitbasierte Bestellung durch; und da immer nur eine datei an xargs übergeben wird, -tist es nicht sehr nützlich, die datei nach dem datum der datei zu sortieren (wie es normalerweise der fall ist).
Kent
1

POSIX erfordert die Angabe des Pfadarguments für find(wie find .anstelle von find) und -printfist eine GNU-Erweiterung.

Liste der regulären Dateien sortiert nach Änderungsdatum:

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

Liste regulärer Dateien:

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

Alle Dateien (einschließlich Verzeichnisse) auflisten:

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 .

Nur Verzeichnisse auflisten:

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