Проблемы со входом в систему как root через Putty (pscp)

Ответ Стефана Шазела хорош, но не учитывает заголовок данных. Также предполагается, что конкретный IDвсегда соответствует одним и тем же NAMEи COMPANY.

Если это не так, то вам придется сделать это немного по-другому:

sort -k1,1 -k4,4 file.in | awk '{ print $0, ++n[$1] }'

Чтобы получить правильный заголовок:

sed '1d' file.in |
sort -k1,1 -k4,4 |
awk -vOFS="\t" \
   'BEGIN { print "ID", "NAME", "COMPANY", "YEAR", "Count" }
          { print $0, ++n[$1] }'

Это удаляет заголовок из ввода, сортирует файл по IDи YEAR, а затем повторно -вставляет заголовок с новым столбцом Count. Затем он увеличивает счетчик для каждого IDи выводит текущее значение этого счетчика в последнем столбце для каждой строки ввода :

.

ID      NAME    COMPANY YEAR    Count
111     LUIS    TCS     2015    1
111     LUIS    TCS     2015    2
111     LUIS    TCS     2016    3
222     URSO    XYZ     2014    1
222     URSO    XYZ     2015    2
333     OMAR    ABC     2014    1
333     OMAR    ABC     2015    2
444     SANJIB  MABE    2011    1
444     SANJIB  MABE    2012    2

Если вы хотите, чтобы awkвыбрал исходный заголовок из файла и просто добавил заголовок Countбез необходимости вводить его снова, вы также можете сделать это:

sed -e '1w /tmp/header.txt' -e '1d' file.in |
sort -k1,1 -k4,4 |
awk -vOFS="\t" \
   'NR == 1 { getline h <"/tmp/header.txt"; print h, "Count" }
            { print $0, ++n[$1] }'

rm -f /tmp/header.txt

Это заставляет sedзаписать заголовок в файл /tmp/header.txt. Когда первая запись читается awk, этот файл считывается в переменную hи выводится вместе с новым столбцом Count. Остальная часть скрипта awkработает так же, как и раньше, и выдает тот же результат.

Файл /tmp/header.txtгарантированно существует для чтения скриптом awk, поскольку он не будет прочитан до тех пор, пока не будет получена первая входная запись. В этот момент sortиспользует все входные данные из sed, что означает, что заголовочный файл должен быть записан. Чтение его в блоке BEGINпотенциально не сработает.

0
20.07.2020, 06:28
1 ответ

Взгляните на sshd _справочную страницу конфигурации , PermitRootLogin раздел:

     PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be yes, prohibit-password, without-password,
         forced-commands-only, or no.  The default is yes.

         If this option is set to prohibit-password or without-password,
         password and keyboard-interactive authentication are disabled for
         root.

         If this option is set to forced-commands-only, root login with
         public key authentication will be allowed, but only if the
         command option has been specified (which may be useful for taking
         remote backups even if root login is normally not allowed).  All
         other authentication methods are disabled for root.

         If this option is set to no, root is not allowed to log in.

Вероятно, ваш файл имеет значение нет . Попробуйте изменить его на yes , перезапустите службу ssh и повторите попытку.

0
18.03.2021, 23:18

Теги

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