Поиск подстановочного поиска не работает в / etc [дубликат]

Вы можете использовать awk :

awk 'NR==FNR{ z[$5]=$0; next}{ if ($5 in z){ if ($0!=z[$5]){
print >"modifiedCourses.txt"}} else { print >"newCourses.txt"}}' old.txt new.txt

Читается старый.txt и сохраняет строки в массив (индексы - это названия курсов), а затем читает new.txt и для каждого курса проверяет, является ли он индексом массива: если это , он проверяет, изменилась ли строка, и если да, то распечатывает ее в modifiedCourses.txt ; если не индекс, он выводит строку в newCourses.txt
. Вы можете изменить $ 0 на $ 7 , если единственное изменение, которое имеет значение, - это часы.

1
02.07.2017, 18:17
2 ответа

Проблема в том, что оболочка расширяет вашу опцию «*.conf» перед выполнением команды.

используйте find /etc -name "*.conf"вместо

3
27.01.2020, 23:33

Метасимволы ('*',?' and[]' )соответствуют `.' в начале базового имени (это изменение в findutils -4.4.2 ). По сути, вы просто исключаете '.' чтобы получить желаемый результат:

найти /etc -имя *conf

0
27.01.2020, 23:33

Теги

Похожие вопросы