Я хочу написать скрипт для проверки на дубликаты
Например: у меня есть текстовый файл с информацией в формате / etc / passwd
alice:x:1008:555:William Williams:/home/bill:/bin/bash
bob:x:1018:588:Bobs Boos:/home/bob:/bin/bash
bob:x:1019:528:Robt Ross:/home/bob:/bin/bash
james:x:1012:518:Tilly James:/home/bob:/bin/bash
Я хочу просто проверить, есть ли дублирующие пользователи, и, если они есть, вывести строку со стандартной ошибкой. Таким образом, в приведенном выше примере, поскольку bob появляется дважды, мой вывод просто сгенерирует что-то вроде:
Error duplicate user
bob:x:1018:588:Bobs Boos:/home/bob:/bin/bash
bob:x:1019:528:Robt Ross:/home/bob:/bin/bash
Прямо сейчас у меня есть цикл while, который читает каждую строку и сохраняет каждый фрагмент информации в переменной, используя awk -F, разделенный символом «:». После сохранения моего имени пользователя я не слишком уверен в том, что лучший способ проверить, существует ли он уже.
Некоторые части моего кода:
while read line; do
echo $line
user=`echo $line | awk -F : '{print $1}'`
match=`grep $user $1`($1 is the txtfile)
if [ $? -ne 0 ]; then
echo "Unique user"
else
echo "Not unique user"
then somehow grep those lines and output it
fi
done
Совпадение не дает правильных результатов
Предложения?