Как удалить эту строку из файла с помощью sed или perl?

Я хочу удалить эту строку:

no-port-forwarding, no-agent-forwarding, no-X11-forwarding, command = "echo 'Пожалуйста, войдите в систему как пользователь \" centos \ ", а не как пользователь \" root \ ".'; echo; sleep 10"

в файле ниже :

no-port-forwarding, no-agent-forwarding, no-X11-forwarding, command = "echo 'Пожалуйста, войдите в систему как пользователь \" centos \ ", а не как пользователь \" root \ ".'; Echo ; сон 10" SSH-RSA AAAAB3NzaC1yc2EAAAADAQABAAABAQCV9sc7lTrpAJb1UARLmNA08XD8Dy0hGJiX1E5qYk8MkH36xbBtcO6xeuncFr619pu + R / + 08jkYn9GIXlgPzD9THUpEI м / OSp5nVPgIamiN7LudOSks6zwk9THkxeSmW95KNEHW5h8Y8MoB0wXzGdr0yiV32nLmvyG18JU6

0
09.04.2017, 05:06
2 ответа
sed -i 's/your_string//g' filename

Скорее всего, вам придется избежать некоторых знаков препинания в your_string.

-1
28.01.2020, 05:05

Это файл authorized_keys для SSH, часто встречающийся в ~/.ssh/authorized_keys. Он имеет ряд полей, и поле, которое вы хотели бы удалить, является первым необязательным полем «параметров».

Второе поле — это поле «тип ключа», которое будет иметь одно из значений ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, ssh-dss или ssh-rsa, согласно руководству sshd.

Мы можем использовать этот факт для удаления поля параметров:

sed -E 's/^.* (ecdsa-sha2-(nistp384|nistp521)|ssh-(ed25519|dss|rsa))/\1/' ~/.ssh/authorized_keys >~/.ssh/authorized_keys.new &&
mv ~/.ssh/authorized_keys.new ~/.ssh/authorized_keys &&
chmod go-rwx ~/.ssh/authorized_keys

Или вы можете использовать sed -i ... для изменения файла на месте, если вы знаете, как это обычно работает на вашем Unix (флажок -i работает немного по-разному в разных реализациях sed).

Команда редактирования sed s/^.* (ecdsa-sha2-(nistp384|nistp521)|ssh-(ed25519|dss|rsa))/\1/ будет сопоставьте расширенное регулярное выражение ^.* (ecdsa-sha2-(nistp384|nistp521)|ssh-(ed25519|dss|rsa)) и замените совпадающий текст типом ключа, найденным в строке. Выражение соответствует чему угодно от начала каждой строки ввода до одного из допустимых типов ключей включительно.

0
28.01.2020, 05:05

Теги

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