I'estou tentando encontrar os arquivos existentes em um diretório mas não no outro, eu tentei usar este comando:
diff -q dir1 dir2
O problema com o comando acima é que ele encontra tanto os arquivos em dir1' mas não em
dir2' quanto os arquivos em dir2' mas não em
dir1',
Estou tentando encontrar os arquivos no diretório dir1' mas não apenas no diretório
dir2'.
Aqui's uma pequena amostra de como são os meus dados
dir1 dir2 dir3
1.txt 1.txt 1.txt
2.txt 3.txt 3.txt
5.txt 4.txt 5.txt
6.txt 7.txt 8.txt
Outra questão na minha mente é como posso encontrar os arquivos em "diretório 1" mas não em "diretório 2" ou "diretório 3" em um único comando?
diff -r dir1 dir2 | grep dir1 | awk '{print $4}' > difference1.txt
Explicação:
O diff -r dir1 dir2
mostra quais arquivos estão apenas no dir1 e aqueles apenas no dir2 e também as alterações dos arquivos presentes em ambos os diretórios, se houver.
diff -r dir1 dir2 | grep dir1` mostra quais arquivos estão apenas no dir1
"Falcão" para imprimir apenas o nome do arquivo.
vim's DirDiff plugin é outra ferramenta muito útil para comparar diretórios.
vim -c "DirDiff dir1 dir2"
Ele não só lista quais arquivos são diferentes entre os diretórios, mas também permite que você inspecione/modifique com o vimdiff os arquivos que são diferentes.