重複ファイルを削除しますが、特定の行は無視してください(例:埋め込みタイムスタンプ)

重複ファイルを削除しますが、特定の行は無視してください(例:埋め込みタイムスタンプ)

gzipで圧縮されたテキストファイルがたくさんあります。 (を使用して)重複ファイルを削除しようとしていますが、fdupes問題は、ファイルにタイムスタンプを含む行が含まれており、それ以外は同じファイルであることです。

重複した項目を見つけてこの行を無視したいのですがいいえ私が保持しているファイルからその行を削除してください。

私の場合、その行は次のようになりました。

-- Dump completed on 2014-07-12 10:00:01

今はうまくいきますが、アーカイブされたファイルからタイムスタンプ行を削除する次のスクリプトを使用しています。

#!/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

元のファイルを変更せずにタイムスタンプ行を保存するソリューションを見つけたいと思います。

私ができる方法はありますか?

ベストアンサー1

おすすめ記事