изменить исходный адрес исходящего трафика на определенных портах

Вместо теста NR == FNR для проверки обработки первого файла можно сделать:

awk 'FILENAME == ARGV[1] {...} ...' file1 file2

Но это более дорогой тест, поэтому если file1 - обычный файл, то можно использовать подход @Archemar и вообще не запускать awk, если первый файл пустой.

В случаях (не ваших), когда file1 и file2 должны быть одним и тем же файлом, вы можете сделать:

awk 'FILENAME == ARGV[1] {...} ...' file1 ./file1

Или:

awk 'FILENAME == "-" {...} ...' - 

Еще лучший подход (переносимый и эффективный):

awk '!file1_processed {...} ...' file1 file1_processed=1 file2

Если вам нужно, чтобы это применялось на . /*.txt например, вы сделаете:

set -- ./*.txt
first=$1; shift
awk '!first_processed {...} ...' "$first" first_processed=1 "$@"

GNU awk-специфический подход:

awk 'ARGIND == 1 {...} ...' file1 file2

0
07.06.2018, 22:02
1 ответ

Recomendaría usar una dirección IP secundaria en su interfaz y vincular los procesos de su servidor a esa dirección, así:

# ip addr add 10.10.10.10/xx dev ens256

De esa manera, el sistema sabe lo que realmente está tratando de hacer(netstatmostrará la información correcta, por ejemplo ), y su firewall es mucho menos complejo.

1
28.01.2020, 02:42

Теги

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