Список файлов, которые находятся в каталоге1, но НЕ в каталоге2, и наоборот ?

Эй, я начал писать сценарии оболочки bash, и я m пытается создать сценарий для назначения, который, когда вы вводите два каталога, он проверяет, существуют ли они, и отображает соответствующее сообщение об ошибке, и если оба каталога существуют, он перечислит различия между текущими каталогами.

$ cd dir-1
$ myshellscript . dir-2 (comparing . aka dir-1 against dir-2) 

Вывод:

Files that are in . but not in dir-2
-rw------- 1 ddddd users   1 2011-03-1 01:26 123123123

Files that are in dir-2 but not in .
-rw------- 1 ddddd users   1 2011-03-1 01:26 zzzzzzzzzzzz

То, что у меня есть, похоже, не обнаруживает, существует ли каталог, и не перечисляет различия:

dir-1=$1
dir-2=$2

if [ $# > 2  ]
   then
      echo "Usage: compdir dir-name1 dir-name 2"
      exit 1
   elif [ $# < 2 ]
      then
         echo "Usage: comdir dir-name1 dir-name 2"
   elif [ ! -d "$@" ]
      then
         echo "/$@ is not a valid existing directory"
   else
      exit 0
fi

echo $dir-1
echo $dir-2

Список команд, с которыми мне нужно работать, иначе я бы использовал comm -32 <(ls -la dir-1) <(ls -la dir-2)

http://dl.dropbox.com/u/20930447/index.html
10
задан eveo 11 March 2011 в 22:34
поделиться