Forum Linux.pl
Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: Kernel w 2007-11-05, 12:09:51
-
Witam!
Może ktoś pomoże jak to napisać?
Chcę porównać dwa zadane katalogi 'argumenty skryptu',aby ignorowały podkatalogi i żeby w wyniku tego wyświetlały listę plików identycznych w obu katalogach.
Pozdrawiam
-
man diff
-
Napisałem coś takiego na brudno (czyt. na kartce), chodź wiem, że kod jest niepełny i zapewne nie dokońca poprawny, ponieważ nie posiadam distro linuxa. Może to ktoś za mnie sprawdzic?
#!/bin/bash
[ -d $1 -a -d $2 ] || { echo 'podaj w argumentach 2 katalogi' >&2; exit; }
ls $1 > /tmp/dir1-$$
ls $2 > /tmp/dir2-$$
diff /tmp/dir1-$$ /tmp/dir2-$$
rm /tmp/*-$$
P.S. xavery dzięki za podpowiedź.
-
Tak na szybko bo się śpieszę - nie wystarczy coś takiego:
diff -Bbruqs katalog1 katalog2
?
-
Co dokładnie oznacza składnia polecenia -Bbruqs?
-
Odpowiedź (http://man.cx/diff(1)/pl)
-
toranga dzięki także za pokazanie strony dodałem do swojego kodu:
diff -x aby ignorował podkatalogi.
Teraz powinno być już wszystko ok.