staging.inyokaproject.org

Verzeichnisse speditiv anpassen

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

MarcelF6

Anmeldungsdatum:
17. Februar 2013

Beiträge: 15

Hallo miteinander

An unserer Serverinfrastruktur wurden im letzten Jahr einige Arbeiten vorgenommen; u.a. haben sich die Speicherverzeichnisse geändert. Die Ordnerstruktur ist nach wie vor dieselbe, nur anstatt in "C:/home/user1/project/files/" finden sich nun alle Daten in "C:/storage/st1/home/user1/project/files/" wieder.

Da ich viele Skripte habe, in welchen immernoch das alte Verzeichnis verwendet wird, wollte ich fragen, ob es eine Möglichkeit gibt, die Links in der Shell / sonst wie direkt anzupassen?

Vielen Dank für alle Hinweise!

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Sprechen wir hier von einem Windows-System?

Curnen

Avatar von Curnen

Anmeldungsdatum:
23. Januar 2008

Beiträge: 47

Also du kannst mit grep -l auf jeden Fall die Dateien ausgeben lassen, die den alten Pfad enthalten. Dann ggfs. mit sed ersetzen?

Ist jetzt nicht getestet, aber vielleicht grob in der Art:

1
2
3
4
 grep "C:/home/user1/project/files/" -R -l | while read FILE
    do
     sed 's|C:/home/user1/project/files/|C:/storage/st1/home/user1/project/files/|g' "$FILE" > "$FILE.new"
    done

VG Thias

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Curnen schrieb:

Also du kannst mit grep -l auf jeden Fall die Dateien ausgeben lassen,

... wenn es ein Unix-artiges System ist.

die den alten Pfad enthalten. Dann ggfs. mit sed ersetzen?

Wozu? Es reicht doch ein Symlink, wenn das Dateisystem Symlinks kann (was man bei einem Ubuntu 14.04 annehmen muss). Die Frage ist halt, was ist das für ein System und liegen die Dateien lokal oder auf einem Netzwerkshare?

Curnen

Avatar von Curnen

Anmeldungsdatum:
23. Januar 2008

Beiträge: 47

Stimmt, die einfachen Lösungen sind die besseren! Ich hatte irgendwie da rausgelesen, dass er die Skripte anpassen wollte.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

"C:" sieht aber nach einem Windowspfad aus, und Windows-Dateisysteme können m.W. keine symbolischen Links, das ist doch ein Dateisystemfeature.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

user_unknown schrieb:

"C:" sieht aber nach einem Windowspfad aus,

Deswegen hatte ich ja danach gefragt, was das Szenario ist.

und Windows-Dateisysteme können m.W. keine symbolischen Links, das ist doch ein Dateisystemfeature.

Der Windows-Explorer nutzt zwar diese speziellen Referenzdateien (enden auf .lnk), aber NTFS kann sehr wohl Symlinks (siehe hier).

MarcelF6

(Themenstarter)

Anmeldungsdatum:
17. Februar 2013

Beiträge: 15

Sorry wegen meiner späten Antwort. Das wegen dem "C:/..." war nur ein Beispiel. Tatsächlich handelt es sich um ein UNIX-System (Linux). Die Dateien liegen auf einem Server; da haben mehrere Personen die Rechte, darauf zuzugreifen.

Wäre hiermit immernoch "grep" + "sed" die beste Methode, oder was meint ihr?

MarcelF6

(Themenstarter)

Anmeldungsdatum:
17. Februar 2013

Beiträge: 15

Ah und PS: Danke für alle bisherigen Inputs!

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

MarcelF6 schrieb:

Das wegen dem "C:/..." war nur ein Beispiel.

Es ist schon wichtig, dass Du die wirklichen Begebenheiten präsentierst. Sonst kann man Dir auch nicht wirklich helfen.

Tatsächlich handelt es sich um ein UNIX-System (Linux). Die Dateien liegen auf einem Server; da haben mehrere Personen die Rechte, darauf zuzugreifen.

Wäre hiermit immernoch "grep" + "sed" die beste Methode, oder was meint ihr?

Nein. Symlink anlegen. Allerdings, wenn die genannten Pfade echt wären, dann könnte es mit dem Ansatz ein Problem geben, weil Du dann / nach /storage/st1 linken müsstest, was offensichtlich eine blöde Idee ist. Du könntest natürlich auch /home/user1/project/files nach /storage/st1/home/user1/project/files linken - oder einen Pfad dazwischen.

MarcelF6

(Themenstarter)

Anmeldungsdatum:
17. Februar 2013

Beiträge: 15

@rklm: Vielen Dank für deine Antwort! Könntest du mir evtl. ein Beispiel mit den Symlinks machen? (Also vorheriges Verzeichnis, neues Verzeichnis und den Befehl für Symlink?) Shame on me, dass ich Symlink (noch) nicht kenne...

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Fang doch mal mit Symlink an.

Antworten |