Eu tenho um monte de arquivos de texto gzipped. Eu estou tentando remover arquivos duplicados (usando fdupes
), mas o problema é que esses arquivos contêm uma linha que tem seu timestamp neles e os arquivos são idênticos caso contrário.
Eu gostaria de encontrar duplicatas, ignorando esta linha, mas não remover a linha dos arquivos que eu guardo.
No meu caso, a linha é da seguinte forma:
-- Dump completed on 2014-07-12 10:00:01
Neste momento estou usando o seguinte script, que funciona, mas remove a linha de timestamp dos arquivos mantidos:
#!/bin/sh
# Remove timestamp line from all gzipped text files by temporarily unzipping
# them, removing the line then rezipping. Preserve file system timestamp.
for a in *.sql.gz ; do
gunzip -c $a | sed -e 's/^-- Dump completed.*//g' | gzip -c -9 > temp.gz
touch -r $a temp.gz
mv temp.gz $a
done
# Duplicates can now be removed.
fdupes . -dN
Eu quero encontrar uma solução que não envolva modificar os arquivos originais, deixando a linha de timestamp.
Existe alguma maneira de fazer isso?