Это тривиально с такой инструмент, как sed
:
$ sed 's/[0-9]\s-\s[0-9]/& /' file
xadsfa 1 - 2 --- --- --- AB
jklhwj 3 --- --- --- asdfh
weriulceh 2 - 4 --- --- --- asdf
Оператор s / foo / bar /
заменит первое вхождение foo
на bar
на каждом строка входного файла. Если вы хотите сопоставить все случаев в данной строке, используйте g
: s / foo / bar / g
. &
- это «все, что было найдено», поэтому s / [0-9] \ s- \ s [0-9] / & /
заменит первое совпадение вашего регулярного выражения. со всем, что было сопоставлено, плюс один пробел.
Обратите внимание, что если вы просто сопоставляете один пробел (не табуляции или другие пробелы), нет причин использовать \ s
. Просто используйте пробелы:
sed 's/[0-9] - [0-9]/& /' file
Наконец, чтобы внести изменения в сам файл, используйте -i
(это предполагает GNU sed
, синтаксис немного отличается в других реализациях; также, это заменит ваш файл результатом операции sed. Убедитесь, что он выполняет то, что вам нужно, прежде чем добавлять -i
):
sed -i 's/[0-9] - [0-9]/& /' file
Только что нашел это -, и оно работает, когда проблема заключается в том, что SELinux блокирует чтение ключей ~/.ssh/authorized _во время входа в систему! Во-первых, убедитесь, что ваш файл ключей ~/.ssh/authorized _правильно заполнен, а его разрешения и разрешения для его папки установлены правильно. Если вы затем запустите «setenforce 0» на целевом хосте SSH и сможете войти на этот хост без ввода пароля, но не сможете сделать это после ввода «setenforce 1» на том же целевом хосте, следующее может решить вашу проблему:
setsebool -P use_nfs_home_dirs 1
ссылка:https://cassjohnston.wordpress.com/2015/06/12/selinux-nfs-home-directories/
Я использую nfsv4 и отлично работаю с этими линиями, если предположить, что ваша зона является общедоступной и вы используете порты по умолчанию 2049 и 4001
firewall-cmd --permanent --add-service=nfs --zone=public
firewall-cmd --permanent --add-service=mountd --zone=public
firewall-cmd --permanent --add-service=rpc-bind --zone=public
firewall-cmd --permanent --add-port=4001/udp --zone=public
firewall-cmd --permanent --add-port=4001/tcp --zone=public
firewall-cmd --permanent --add-port=2049/tcp --zone=public
firewall-cmd --permanent --add-port=2049/udp --zone=public
firewall-cmd --reload