
Ich habe eine Datei, die die Ausgabe von find
„aufgerufen“ in einem Verzeichnis auf einem anderen Computer enthält. Ich möchte die Datei-/Verzeichnisstruktur mit Befehlen wie „,“ usw. durchsuchen, cd
als ls
ob sie sich in meinem Dateisystem befände. Wie kann ich das tun?
Beispiel meiner Find-Ausgabedatei
/a0/a1/
/a0/a1/a2
/a0/a1/a2b
/a0/a1/a2b/a2b1.txt
/a0/a1/a2b/a2b2.txt
In meinem Fall sind alle Pfade absolut. Ich habe ungefähr 755.000 Einträge in der vollständigen Datei.
Antwort1
Ich habe eine Lösung gefunden, um eine Dummy-Dateistruktur aller Dateipfade in meinem aktuellen Verzeichnis zu erstellen, die ich anschließend durchsuchen kann:
cat find.output | sed -r 's/^\/(.*)$/"\.\/\1"/' | xargs mkdir
find.output
ist meine Datei- Ich
sed
mache absolute Pfade relativ und setze sie in Anführungszeichen (falls sie Leerzeichen enthalten). xargs
wird verwendet, um für jeden Pfad ein Verzeichnis zu erstellen
Allerdings wäre ich über eine Lösung froh, die mein reales Dateisystem nicht berührt.