tentando escrever script diff simples para comparar 2 arquivos e depois mv para um diretório

0

Isto é o que eu tenho: tentando comparar 2 arquivos, se os mesmos arquivos para movê-los para um nome de diretório host.bk

#!/bin/sh

if 'diff $file1 $file2 >/dev/null' ; then

mv $file1 $file2 host.bk

else
  echo Different
fi
    
por Moez 08.02.2017 / 20:34

2 respostas

2

if recebe um comando arbitrário, portanto, você pode usar apenas diff sem qualquer cotação ou substituição de comando. Além disso, poderíamos usar o sinalizador -q para inibir a saída.

if diff -q "$file1" "$file2" ; then
    echo "files $file1 and $file2 contain identical data"
else
    echo files differ (or an error happened)
fi
    
por 08.02.2017 / 20:48
1

Use cmp para quando a diferença real entre os arquivos não for necessária:

if cmp -s "$file1" $file2"; then
  printf '"%s" and "%s" are the same, moving...\n' "$file1" $file2"
  mv "$file1" $file2" host.bk/
else
  printf '"%s" and "%s" are different\n' "$file1" $file2"
fi
    
por 08.02.2017 / 22:32