Verzeichnisse vergleichen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
CrunkBass
Beiträge: 14
Registriert: 23.10.2010 02:58:12

Verzeichnisse vergleichen

Beitrag von CrunkBass » 24.10.2010 03:24:40

Hallo zusammen!

Ich möchte zwei Ordner miteinander vergleichen und die Dateinamen, die NICHT in beiden Ordnern vorhanden sind, ausgeben lassen.
Dafür habe ich mir ein kleines Script geschrieben.

Code: Alles auswählen

#!/bin/bash

PFAD1="/var/test/ordner1"
PFAD2="/var/test/ordner2"

cd "$PFAD1"
for i in $(find . -type f); do
  if [ ! -e "$PFAD2/$i" ]; then
    echo "$i" | cut -c3-
  fi
done
Es funktioniert aber leider nur bei Dateinamen ohne Leerzeichen. Wenn eine Datei Leerzeichen enthält wird der Name in zwei oder mehreren Zeilen ausgegeben wie hier zu sehen ist:

Code: Alles auswählen

Bild141.jpg
Neue
tei
DSC00297.JPG
DSC00059.JPG
Was muss ich am Script ändern dass der Name (hier Neue Datei) in eine Zeile geschrieben wird?
Oder gibt es vielleicht eine leichtere Lösung für mein Vorhaben?

MfG Crunk_Bass

Benutzeravatar
pinguino
Beiträge: 147
Registriert: 23.01.2007 23:11:46

Re: Verzeichnisse vergleichen

Beitrag von pinguino » 24.10.2010 09:31:33

Am Anfang des Skriptes könntest du z.B:

Code: Alles auswählen

#!/bin/bash

IFS='
'
...
einfügen
Gruß

Pinguino

>>Nota bene<<

CrunkBass
Beiträge: 14
Registriert: 23.10.2010 02:58:12

Re: Verzeichnisse vergleichen

Beitrag von CrunkBass » 24.10.2010 18:14:53

Problem gelöst. Vielen Dank :)

MfG Crunk_Bass

Antworten