CD ins neueste Verzeichnis


0

Nicht unbedingt prügeln, sondern wenn möglich Bourne-Shell. Wie kann ich programmgesteuert zum neuesten Verzeichnis wechseln? Ich möchte das neueste Paket der Software installieren, die sich im neuesten Verzeichnis befindet. Ältere Verzeichnisse werden für ältere Systeme geführt.

Funktioniert nicht:

find /test/sysadmin/aixinstall/programs/tcpd/* -type d | xargs ls -td | head -n 1 | xargs cd


bearbeiten:

Ich habe eine Antwort, aber es ist irgendwie hässlich, also gebe ich jemandem die Chance, das Internet mit Weisheit zu zieren, anstatt mit einem Kluge.

Antworten:


1
cdnewest () {
    cd "$(stat -c "%Y %n" "$1"/*/ | sort -nr | head -1 | cut -d " " -f 2-)"
}

cdnewest /test/sysadmin/aixinstall/programs/tcpd

Ich gehe davon aus, dass Sie nach dem neuesten direkten Unterverzeichnis suchen , nicht irgendwo in der Hierarchie.


Ich habe die GNU-Statistik (nicht in AIX oder Kornshell integriert), aber sie gibt einen Dateinamen zurück. Ich habe ein bisschen Probleme, das auf ein Verzeichnis zu reduzieren!
bgStack15

Ich glaube, ich habe es jetzt verstanden:cd "$( find "$1"/* -prune -type d 2>/dev/null | xargs stat -c "%Y %n" 2>/dev/null | sort -nr | head -n 1 | cut -d " " -f 2-)"
bgStack15

1
Der Schrägstrich auf meinem glob Muster begrenzt die Ergebnisse auf Verzeichnisse: Demo: CD in ein Verzeichnis mit den beiden Dateien und Unterverzeichnisse und im echo *Vergleichecho */
glenn jackman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.