Какие программы настраивают сеть на основе настроек в /etc/network/interfaces?

Я бы использовал1 find с двумя -exec действиями, например:

find . -type f -exec grep -qF SOME_STRING {} \; -exec sed 'COMMAND' {} \;

Вторая команда будет выполняться только если первая оценивается как true i. например, exit code 0, поэтому sed будет обрабатывать рассматриваемый файл, только если файл содержит SOME_STRING. Легко понять, как это работает:

find . -type f -exec grep -qF SOME_STRING {} \; -print

он должен перечислить только те файлы, которые содержат SOME_STRING. Конечно, вы всегда можете составить цепочку из более чем двух выражений, а также использовать операторы типа ! (отрицание), например:

find . -type f -exec grep -qF THIS {} \; ! -exec grep -qF THAT {} \; -print

перечислит только те файлы, которые содержат ЭТО, но не содержат ТО.
В любом случае, в вашем случае:

gfind /tmp/ -type f \( -name "*.h" -o -name "*.cpp" \) \
-exec ggrep -qF LARGE_INTEGER {} \; \
-exec gsed -i '1s/^/#include <stdint.h>\n/' {} \;

1
Я предполагаю, что ваш xargs не поддерживает опцию -0 или --null. Если это так, используйте следующую конструкцию:

find . -type f -exec grep -lFZ SOME_STRING {} + | xargs -0 gsed -s -i 'COMMAND'

т.е. в вашем случае:

gfind /tmp/ -type f \( -name "*.h" -o -name "*.cpp" \) \
-exec ggrep -lFZ LARGE_INTEGER {} + | \
xargs -0 gsed -s -i '1s/^/#include <stdint.h>\n/'

Она должна быть более эффективной, чем первая.
Кроме того, оба варианта будут работать с любыми именами файлов. Обратите внимание, что я использую grep с -F (фиксированная строка), так как он быстрее, поэтому удалите его, если вы планируете использовать regex вместо него.

3
23.09.2018, 20:56
1 ответ

Чтобы ответить на этот вопрос, следуйте по следу, начинающемуся с /etc/network/interfaces, или, скорее, соответствующей справочной страницеinterfaces.5. Поиск показывает, что это происходит изifupdownилиifupdown2. Глядя на соответствующие зависимости пакетов, видно, что они используют iproute2и могут дополнительно использовать ppp, rdnssdи DHCP-клиент.

Чтение справочной страницы содержит дополнительную информацию, в частности, о поддержке беспроводной связи, которая обеспечиваетсяwireless-toolsиiw. Многие другие пакеты предоставляют расширения ifupdown.

2
27.01.2020, 21:25

Теги

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