GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Suchbefehl, findet unabhängig von der Zeitspanne rekursiv die 10 neuesten Dateien

Mir wurde gesagt, dass dies die Lösung ist:

find . -type f -printf "%[email protected] %p\n" | sort -rn | head -n 10

Der Schlüsselpunkt ist der printf %[email protected] Platzhalter, der -ctime ist eines. Ich habe es gefunden, indem ich man find gelesen habe .

Ergebnis:

1336992789.0000000000 ./Mobilni Telefoni/05. iPhone/03. iPhone 4G Firmware/5.1.1/iPhone3,1_5.1.1_9B206_Restore.ipsw.filepart
1336928538.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt
1336922295.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/garmin_kgen_15.exe
1336868365.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2152/E2152_XXJH4_OXFJI2.zip.filepart
1336867426.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E210/E210_XFGH2.rar
1336866301.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/FlashTool_E2_R6.zip
1336865921.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/E2330_OXFKE2.rar
1336865409.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_CDS.zip
1336865398.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_BIN.zip
1336864949.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_OXFKC1_CSC.zip

Für eine sehr große Liste von Dateien sort(1) mit Pipes ist möglicherweise nicht optimal für die Ressourcennutzung.

sort(1) könnte durch perl(1) ersetzt werden und puffere nur die zehn höchsten Einträge. Dies wurde in unix command:how to get top n records umrissen für drei, hier eine Verabschiedung für zehn Platten.

Es ersetzt die sort(1) und head(1) Filter:

find . -type f -printf "%[email protected] %p\n" | perl -ane '
    BEGIN {@top = ([-1]) x 10}
    if ($F[0] > $top[0][0]) {
        @top = sort {$a->[0] <=> $b->[0]} @top[1..9], [$F[0], $_];
    }
    END {print for reverse map {$_->[1]} @top}
'

Das Ergebnis ist identisch.


Linux
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. 5 Befehlszeilen-Tools zum schnellen Auffinden von Dateien unter Linux

  3. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  4. Linux-Befehl:Wie findet man nur Textdateien?

  5. Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

Rm-Befehl unter Linux

Linux-Suchbefehl mit praktischen Beispielen

So finden Sie Dateien mit dem fd-Befehl in Linux

Wie man Dateien in Linux rekursiv auflistet

Tutorial für Linux-Suchbefehle (mit Beispielen)

So finden Sie Ordner in Linux