Интернет и пинг работают, но не могу подключиться через SSH

awk решение:

awk 'FILENAME == ARGV[1] && NR>1{ df2[$2,$3,$4] }
     FILENAME == ARGV[2] && FNR>1{ df3[$2,$3,$4] }
     FILENAME == ARGV[3]{ if(FNR == 1) { printf("%s\t%s\t%s\n",$0,$NF,$NF) } 
     else { printf("%s\t%s\t%s\n",$0, (($2,$3,$4) in df2)? $NF :"NA",(($2,$3,$4) in df3)? $NF :"NA")} 
}' df2 df3 df1 | column -t

Вывод:

chr   start  end   Id    Id    Id
chr1  1      400   SN_1  NA    NA
chr1  401    800   SN_2  SN_2  NA
chr1  801    1200  SN_3  SN_3  NA
chr1  1201   1600  SN_4  SN_4  SN_4
chr1  1601   2000  SN_5  NA    SN_5
chr1  2001   2400  SN_6  NA    SN_6
chr1  2401   2800  SN_7  NA    NA

  • df2, df3 и df1 ваши 2-й, 3-й и 1-й файлы dataframe соответственно

  • FILENAME - встроенная переменная, указывающая на имя обрабатываемого в данный момент файла

  • ARGV - встроенная переменная, указывающая на все аргументы перешел на awk-скрипт. т. е. ARGV[1] содержит df2

  • FILENAME == ARGV[1] && NR>1 — встречается с 1-м файлом (т.е.df2), начиная со 2-й строки

    • df2[$2,$3,$4] — получение важных значений из «Dataframe 2» в качестве ключа массива df2
  • FILENAME == ARGV[2] && FNR>1 — обнаружение второго файла (то есть df3), начиная со второй строки

    • df3[$2,$3,$4] - получение важных значений из "Dataframe 3" в качестве ключа массива df3
  • FILENAME == ARGV[3] - обнаружение 3-го файла (т.е. df1), основной Dataframe

0
06.05.2017, 22:45
1 ответ

Согласно тому, что я прочитал на вашем скриншоте, у вас есть несколько правил iptables, и последнее отбрасывает все остальные

iptables -A input -j DROP

Перед тем, как отбросить остальную часть запроса, вы следует добавить правило, разрешающее ssh на вашем сервере

iptables -A input -p 22 -j ACCEPT 
3
28.01.2020, 02:25

Теги

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