Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Bash: Komando bei unterschiedlichem Inhalt in Dateien

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.05.2005
    Beiträge
    8

    Bash: Komando bei unterschiedlichem Inhalt in Dateien

    Hallo Zusammen
    ich bin mit meinem kleinen Bash Script mit dem Latein am Ende:
    Ich habe zwei Dateien mit Inhalt (jeweils eine Zeile).

    Nun möchte ich, falls die Dateien nicht mehr den selben Inhalt haben, eine Aktion ausfüren.

    Also etwa so

    if [datei1 inhaltandersals datei2]; then
    echo "anderes inhalt"
    else
    echo "gleicher inhalt"
    fi

    Leider habe ich keine Idee, wie ich das realiseiren könnte.


    Falls jemand was in Perl (oder einer anderen Sprache hat) was genau diesen zweck tut, ist das auch ok. Ich bin nicht auf die Bash fixiert.

    Danke für Tipps
    r2k

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Beispielsweise mit md5summen vergleich. Das geht aber so genau nur wenn die Dateien genau gleich sind.

    Code:
    if [ "$(md5sum 1 | awk '{print 1}')" = "$(md5sum 2|awk '{print 1}')" ] ; then 
    echo gleich
    else 
    echo verschieden
    fi
    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)

  3. #3
    Registrierter Benutzer Avatar von Hans-Georg Normann
    Registriert seit
    04.03.2000
    Ort
    Uetersen
    Beiträge
    571
    Oder heute mal ohne awk:
    Code:
    set $(md5sum datei1)
    DAT1=$1
    set $(md5sum datei2)
    DAT2=$1
    
    if [ "$DAT1" = "$DAT2" ] ; then 
      echo gleich
      else 
      echo verschieden
    fi
    Hans
    333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Geht auch einfacher:
    Code:
    if diff -q Datei1 Datei2 >/dev/null; then
      echo Dateien gleich
    else
      echo Dateien verschieden
    fi

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.05.2005
    Beiträge
    8
    Besten Dank für alle Tipps.

    Ich habe mich für die letzte Version entschieden, da sie so schön kurz ist

    Gruess
    r2k

Lesezeichen

Berechtigungen

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