печатать остаток строки после совпадения с grep

Recientemente hice esto, esto puede ayudarte:

sshpass -p 'password' username@ipaddress

si esto no funciona, deberá generar claves en la otra máquina con la que desea conectarse

ssh-keygen

generará claves privadas y públicas y le pedirá una ubicación, déjelo en blanco y guardará las claves en la carpeta.ssh de forma predeterminada le pedirá una frase de contraseña, también puede dejarla vacía vaya a la carpeta.ssh y cambie el nombre de la clave pública a 'claves autorizadas _'

cd.ssh/
mv id_rsa.pub authorized_keys
useradd -d /home/username username

esto agregará un usuario a la lista ahora vaya al directorio de inicio y otorgue permiso y reinicie los servicios sshd

chmod 700 /home/username/.ssh
chmod 644 /home/username/.ssh/authorized_keys
chown root:root /home/dozee
sudo service sshd restart

ahora tendrá que mover la clave privada al sistema en esa ubicación desde donde ejecutará el comando ssh, luego podrá conectarse con

sshpass -p 'password' ssh -i id_rsa username@ip

si incluso eso no funciona, vaya a /etc/ssh abra sshd _config con el editor vim verifique si pubkeyAuthenticatoin está activado o no, si no, cámbielo a sí, reinicie los servicios sshd y luego inténtelo, definitivamente funcionará.

1
22.07.2019, 14:05
4 ответа

Использование cutдля извлечения всех полей после 3:

grep -o 'created files:' $logfile | cut -d" " -f3-
0
27.01.2020, 23:22

Если ваш grepподдерживает perl -совместимые регулярные выражения (PCRE):

$ grep -Po 'created files: \K.*' "$logfile"
3 (reg: 2, dir: 1)

Чтобы сохранить числа в массив bash:

$ numbers=( $(grep -o 'created files:.*' "$logfile" | grep -o '[0-9]\+') )
$ echo ${numbers[@]}
3 2 1
$ echo "${numbers[0]}, ${numbers[1]}, ${numbers[2]}"
3, 2, 1
4
27.01.2020, 23:22

Перл спешит на помощь:

$ perl -ne 'print "$1 $2 $3\n" if /created files: (\d+) \(reg: (\d+), dir: (\d+)\)/' < "$logfile"
3 2 1

или сsed:

$ sed -nEe 's/.*created files: ([0-9]+) \(reg: ([0-9]+), dir: ([0-9]+)\)/\1 \2 \3/p' "$logfile"
3 2 1

Оба делают в основном одно и то же :сопоставляют всю конечную часть строки (не только created files), но захватывают (с(...))числами и печатают их или заменяют ими строку.

0
27.01.2020, 23:22

Чтобы исправить вашу команду:

  • Добавьте .*к паттерну, чтобы включить остальную часть строки в вывод grep.
  • Используйте -f3-для выбора всех полей с 3-го до конца.

-->

grep -o 'created files:.*' "$logfile" | cut -d\  -f3-
0
27.01.2020, 23:22

Теги

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