Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: Brauche kleines Shellskript: dos2unix rekursiv

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    Brauche kleines Shellskript: dos2unix rekursiv

    Hallo,
    ich habe einen umfangreichen Dateibaum mit Textdateien mit Windowszeilenende. Die sollen nach unix konvertiert werden. Ich habe da Versuche mit dos2unix angestellt, aber das stirbt schon, wenn man dos2unix * sagt, mit der Begründung, dass es Probleme mit dem Konvertieren von <beliebiges Verzeichnis> gab. Ich bin nicht so gut im Shellskripten, vielleicht kann sich jemand erbarmen und die paar Zeilen schnell hinhacken, Vielen Dank im Vorraus.

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.02.2004
    Ort
    Boeblingen
    Beiträge
    90
    macht du einfach:

    find /home/doedel -name \*.txt -exec dos2ux {} \;

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Die Textdateien haben dummerweise ettliche verschiedene Endungen: sh, cpp, h, in, alles Mögliche. Ist ein CVS-Verzeichnis.

    Edit: Mein Gedanke ist ein Skript, das ich in $PATH irgendwo installiere und dass mit foreach oder ähnlichem für jede Datei überprüft, ob es ein Verzeichnis ist, wenn ja cd ins verzeichnis macht und sich dann selbst wieder im Unterverzeichnis startet und wenn nicht, dos2unix probiert.
    Geändert von axeljaeger (16-08-2004 um 16:46 Uhr)

  4. #4
    Registrierter Benutzer Avatar von r00t043
    Registriert seit
    11.01.2004
    Beiträge
    38
    find /home/doedel -type f -exec dos2unix {} \;

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wenn nicht sicher alles Textdateien sind könnte ein Konstrukt in der Art nützlich sein:

    Code:
    for f in $(find -type f); do file $f | grep -q ASCII && dos2unix $f; done
    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Zitat Zitat von peschmae
    Code:
    for f in $(find -type f); do file $f | grep -q ASCII && dos2unix $f; done
    Einfach im Wurzelverzeichnis meines Dateibaumes aufrufen?

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja. Du kannst natürlich auch bei find den Pfad angeben wie in den vorhergehenden Beispielen.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Danke peschmae, ich hab es gerade ausprobiert, es funktioniert ganz gut, einige Dateien vergisst es aber, z.B. welche, die mit .sh enden. Trotzdem danke. Die paar konnte ich auch mit der Hand machen.

  9. #9
    Registrierter Benutzer
    Registriert seit
    01.07.2004
    Beiträge
    46
    Für das nächste mal:
    Übertrage die Dateien im Ascii FTP-Modus - dann passiert sowas auch nicht

  10. #10
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Es ging um ein CVS-Verzeichnis.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  11. #11
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Richtig. Um genau zu sein um TortoiseCVS.

  12. #12
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von bash_azubi
    Für das nächste mal:
    Übertrage die Dateien im Ascii FTP-Modus - dann passiert sowas auch nicht
    Du meinst im Binary Modus, denn ASCII ändert ja die Line Ends.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  13. #13
    Registrierter Benutzer
    Registriert seit
    07.07.2004
    Ort
    Bochum
    Beiträge
    5
    das er .sh dateien vergisst liegt daran das file diese nicht als ASCII identifiziert sondern als shellscript.
    Linux: Just Do it

  14. #14
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja, sicher.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  15. #15
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Kann man diesen Sonderfall noch vorsehen?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •