Соедините два файла, сохраните порядок ключей первого файла и заполните отсутствующие значения строкой 'null'

Вы должны установить SSH на основе ключей в вашей ситуации. Независимо от того, из чего он вызван, сам инструмент SSH просто считывает ключи конфигурации И, И если удаленный сервер принимает аутентификацию только по ключу, у вас не будет запроса пароля. Просто создайте ключ на удаленном хосте под пользователем, которого вы хотите выполнить, включите аутентификацию на основе ключа на локальном хосте И сделайте «su» пользователю, под которым вы будете вызывать эту строку (независимо от метода: cron, shell и т. д.) - и вставьте удаленный ключ локально в качестве ключа для этого хоста. Это оно!

1
24.05.2018, 20:58
3 ответа

join+sortsolución:

join -o1.1,1.2,1.3,2.2 -a1 -e"null" <(sort file1.txt) <(sort file2.txt)

La salida:

a 7 nah anau
b 0 blah null
c 5 bah bau
d 1 gah cau
e 0 hah null
3
27.01.2020, 23:16

Solución usandojoin:

join file1.txt file2.txt -e null -o auto -a 1 2>/dev/null

No está claro en las páginas man, pero la opción -esolo funciona con -o.

1
27.01.2020, 23:16

Pude resolverlo con awk. Encontré que en mis datos como en el ejemplo, el segundo campo de file1.txttiene que ser 0 para que falte en file2.txt--, lo que ayudó. El guión se ve así:

NR==FNR {
  a[$1]=$2;next
}

$2!=0{
  print $0,a[$1]
}

$2==0{
  print $0,"null"
}

Invocación:

awk -f merge.awk file2.txt file1.txt
1
27.01.2020, 23:16

Теги

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