Find gibt Ihnen relative Pfade, wenn Sie beim Ausführen eine relative Spezifikation angeben. Du passierst, $1/codebase
was ich erfahre, ist ein absoluter Pfad. Statt diesen Befehl zu verwenden, probieren Sie cd $1/codebase ; find . -type ...
stattdessen etwas .
Rufen Sie bei einem Verzeichnis relative Pfade aller Dateien rekursiv ab
1344
devios1
Ich baue eine RPM-Spezifikationsdatei und muss in dem %files
Abschnitt die Dateien aufführen, die relativ zu einem von mir angegebenen Build-Root enthalten sind. Ich habe bereits das zusammengestellte Verzeichnis, das gepackt werden muss - ich muss nur eine Liste relativer Pfade zu allen darin enthaltenen Dateien erstellen.
Dafür verwende ich derzeit find
, aber es werden absolute Pfade zurückgegeben.
find $1/codebase -type f ! -name ".*" >> $/rpm.spec
Ich bin ein bisschen von einem Unix-n00b, also entschuldige ich mich.
Soll ich es an sed oder grep leiten und den ursprünglichen Teil des Pfads entfernen? Ein Beispiel dafür wäre hilfreich.
1 Antwort auf die Frage
1
Zoredache
Verwandte Probleme
-
4
So installieren Sie den GNOME-Desktop unter Linux (CENTOS)
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
2
Anschließen eines MIDI-Controllers an CentOS5
-
2
Auf unbestimmte Zeit nach einer Domain suchen / warten
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?
-
8
Rette mich vor dem Kauderwelsch