У меня есть файл, который состоит из числа пользователей, и мне нужно сравнить его с несколькими файлами и распечатать, если какой-либо конкретный пользователь отсутствует в файлах с именем файла.
#!/bin/bash
awk '{print $1}' $1 | while read -r line; do
if ! grep -q "$line" *.txt;
then
echo "$line User doesn't exist"
fi
done
В приведенном выше сценарии , передавая файл user_list как $ 1 и может найти пользователей для одного целевого файла, но это не удается для нескольких файлов.
Содержимое файла:
user_list:
Johnny
Stella
Larry
Jack
One of the multiple files contents:
root:x:0:0:root:/root:/bin/bash
Stella:x:1:1:Admin:/bin:/bin/bash
Jack:x:2:2:admin:/sbin:/bin/bash
Использование:
./myscript user_list.txt
Желаемый вывод:
File1:
Stella doesn't exist
Jack doesn't exist
File2:
Larry doesn't exist
Johnny doesn't exist
Есть ли какие-либо предложения по достижению этого для нескольких файлов с печатью заголовков имен файлов?