netcat отсутствует -опция x

Существует множество способов сделать это, в том числе:

$ awk '/^ENDTIME/ {next}; NR>4' sourcefile 
RtpNm01                                   CE_01      run      full
RtpAcp01                                  CE_01      run      full
RtpDynManLite01                           CE_01      run      full
RtpDynLiteInc01                           CE_01      run      full

Печатаются все входные строки после четвертой строки, за исключением любой строки, начинающейся с ENDTIME.

Я думаю, это то, что вы пытались сделать с помощью этого странного цикла while (getline)в блоке /Processname\s*....../-в этом не было необходимости, awk уже перебирает каждую строку ввода, и вы можете проверить значение NR (номер текущей входной строки ).

и:

awk '! /^(STARTTIME|ENDTIME|=====|Processname)/' sourcefile

grep -vE '^(STARTTIME|ENDTIME|=====|Processname)' sourcefile

sed -E -e '/^(STARTTIME|ENDTIME|=====|Processname)/d' sourcefile

Все они выводят любые строки , кроме , соответствующие регулярному выражению. Все они используют одно и то же расширенное регулярное выражение (ERE -по умолчанию с awk,включено с помощью -Eдля grepи sed), чтобы искать любое из чередований в начале строки (, закрепленной с помощью^).

и:

sed -e '1,4d; $d' sourcefile

Удалить строки с 1-й по 4-ю и последнюю строку.

4
16.11.2020, 11:17
2 ответа

Похоже, у вас установлен "традиционный" netcat (netcat-traditional). Опция -xдоступна в сетевой программе OpenBSD (netcat-openbsd). См. также:В чем разница между netcat -Traditional и netcat -openbsd? в Ask Ubuntu.

8
18.03.2021, 22:49

Существует несколько реализаций netcat, вам, вероятно, нужна BSD, потому что она предоставляет опцию -x. В Ubuntu он доступен в пакете netcat-openbsd.

4
18.03.2021, 22:49

Теги

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