私は現在、何千ものkvpを含む.propertiesファイルがあるプロジェクトに取り組んでいます。これらのkvpのいくつかは複数回存在します...したがって、重複する行を削除したいと思います(もちろんそれらが同一である場合)。ただし、一部のキーは重複していますが、値が異なることも心配です。
これを行うにはもっと簡単な方法があると確信していますが、追加のスキルとしてbashスクリプトを取り上げたいのですが、基本的にbashの知識はありません。それにもかかわらず、私は次の解決策を思いついたが、これがこれを行うための最も効率的な方法であるとは非常に疑わしい。これを行う簡単な方法はありますか?
#! /bin/bash
# Remove unique lines (key and value are equal)
sort $1 | uniq > temporary.tmp
# Find keys that are not unique
doubleKeys=`awk -F"=" '{print $1}' temporary.tmp | sort | uniq -d`
if [ -z $doubleKeys ] ; then
mv temporary.tmp final.txt
echo "Removed doubles, final file is final.txt"
else
echo $doubleKeys > DoubleKeys.log
rm temporary.tmp
echo "Double keys found with different values, see DoubleKeys.log"
fi