Вы можете отладить ваше telnet-соединение на клиенте, добавив 3 строки в ваш файл~/.telnetrc
:
scope
set netdata
set options
где scope
— это имя хоста вашей области, которое должно быть в столбце 1, а остальные 2 строки должны быть с отступом в 1 пробел.
Когда вы запускаете telnet, он теперь должен показывать вам прочитанные и записанные данные, а также отправленные и полученные команды, если таковые имеются.
Вы можете отправить явные команды согласования telnet, чтобы узнать, отвечает ли ваша область. Обратите внимание: когда вы меняете настройку на значение, которое, по мнению пульта, уже есть, оно не будет отвечать, поэтому вам может потребоваться попробовать команду и ее инверсию. Например, (введите управление -] , чтобы войти в командный режим ), отправьте «ты здесь?»:
telnet> send ayt
> 0x0 fff6
< 0x0 74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d
< 0x20 0d0a
td: recv IAC AYT
[scope : yes]
Строки данных >
и <
являются результатом set netdata
. Линии согласования td:
являются результатом set options
. (Если вы их не видите, возможно, ваш rc-файл был проигнорирован, поэтому введите их явно в командном режиме.)
Включить эхо, затем выключить и снова включить:
telnet> send do echo
telnet> send dont echo
> 0x0 fffe01
< 0x0 74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420
< 0x20 776f6e74204543484f0d0a
td: recv dont ECHO
td: send wont ECHO
telnet> send do echo
> 0x0 fffd01
< 0x0 74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769
< 0x20 6c6c204543484f0d0a
td: recv do ECHO
td: send will ECHO
Вы можете попробовать что-то вроде этого:
$ sed -e '$!N;/^>.*\n>/D' -e 'P;D' file
>seq1
actgatgac
>seq2
ctgacgtca
>seq4
gtagctagt
>seq5
tgacatgca
То есть
$!N
...P;D
>
и имеет еще один >
после новой строки Пример awk:
awk 'BEGIN {lasta="XXX"} {if ($0 !~ /^ *>/) printf("%s\n%s\n",lasta,$0); lasta=$0;}' fileNAME.txt
эквивалентно
cat fileNAME.txt | awk 'BEGIN {lasta="XXX"} {if ($0 !~ /^ *>/) printf("%s\n%s\n",lasta,$0); lasta=$0;}'
Пробовал использовать команду awk, работает нормально
awk '{a[++i]=$0}/^[actg]/{for(x=NR-1;x<=NR;x++)print a[x]}' file.txt
выход
>seq1
actgatgac
>seq2
ctgacgtca
>seq4
gtagctagt
>seq5
tgacatgca