Извлечение строк вокруг ключей из файла

Вы могли бы попытаться использовать "новый" (на самом деле не такой уж новый) флаг cmdline -Y. это - своего рода лучшая замена для -X. из руководства:

     -Y      Enables trusted X11 forwarding.
             Trusted X11 forwardings are not subjected 
              to the X11 SECURITY extension controls.

теперь это не показывает много (по крайней мере, для объединения в цепочку). но быстрый тест показывает, что работает:

   $ ssh -Y localhost   # first connection
   $ ssh -Y localhost   # second connection on top of first connection
   $ xclock

(я также протестировал в реальной сети, где СРЕДНЯЯ машина является определенно сервером без любого X11, таким образом, это действительно работает),

3
03.07.2014, 02:12
2 ответа

Если четные и нечетные строки не меняются. Тогда попробуйте использовать нижеприведенную команду

awk 'NR%2{printf $1"-";next;}1'

Выход вышеприведенной команды будет

WRTZ-1287998798

ASDF-9408654860

TYSR-9809804090

ASDF-4950409808
1
27.01.2020, 21:31

С этой задачей может справиться небольшой awk-скрипт. Легко понять, прочитав руководство awk man.

    #!/usr/bin/awk -f
    BEGIN{got=0;linenum=0}
    /ASDF/{printf ("%s ",$1); got=1;linenum=NR+1}
    /TYSR/{printf ("%s ",$1); got=1;linenum=NR+1}
    /WRTZ/{printf ("%s ",$1); got=1;linenum=NR+1}
    /^[0-9]/{if ( ( got == 1 ) && ( linenum == NR) ) {
    printf("%s\n",$1)
    got=0
    linenum=0
    }}

Вывод будет таким:

   ./awk_script data_file

    WRTZ 1287998798
    ASDF 9408654860
    TYSR 9809804090
    ASDF 4950409808

Вы можете модифицировать его по своему усмотрению!

0
27.01.2020, 21:31

Теги

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