Похоже, что Bash использует файл known_hosts
в $ HOME / .ssh
для автозаполнения. при некоторых обстоятельствах.
Если вы подключились с помощью SSH (т. Е. С помощью ssh
, rsync
, git
с SSH или любой другой утилиты, которая использует SSH) с этим хостом), который является облачным хостом Amazon, то разумно, чтобы IP-адрес был записан в этот файл и получен подсистемой автозаполнения bash
.
Если там есть IP-адрес, вы также сможете определить удобочитаемое имя хоста, которое вы использовали при подключении к хосту (он будет иметь тот же отпечаток SSH в файле).
Вы не можете использовать:
s/\
/
для сопоставления новой строки в пространстве шаблонов в форме s / pattern / replacement /
. Интерпретация этого шаблона зависит от реализаций. И GNU sed, и BSD sed рассматривают его как буквальную новую строку, но BSD sed не принимает , а вызовет ошибку .
Как правило, вы не можете сопоставить новую строку в конце строки ввода, но вы можете использовать \ n
, чтобы сопоставить новую строку, появившуюся в пространстве шаблонов в результате команды N
.
Правильный путь, POSIXLY:
sed 'a\
text += num.toString(16);
'
или:
sed 's/$/\
text += num.toString(16);/'
То же самое применимо через awk
, как показано ниже:
awk '{print $0"\ntext += num.toString(16);"}' file
В этом случае awk
будет печатать каждую строку как есть, то напечатает text + = num.toString (16);
в новой строке.