Я вижу как минимум 3 вещи:
Модификатор \U
преобразует в верхний регистр, в то время как вас попросили преобразовать из верхнего регистра в нижний
Похоже, ваше выражение вообще не удаляет пробелы -это, вероятно, проще всего сделать как отдельное выражение, например. s/ //g
или (для замены горизонтальных пробелов в более общем смысле)s/[[:blank:]]//g
Использование-i
(или--in-place
)не имеет смысла, если вы хотите перенаправить или направить вывод команды в другой файл или процесс.
Собрав все это вместе, вы могли бы использовать
sed -e 's/[[:blank:]]//g' -e 's/.*/\L&/' oldfile > newfile
Если вы хотите сначала изменить oldfile
на месте, а затем перенести содержимое в newfile
с помощью перенаправления, вы можете сделать это, по крайней мере, в GNU sed, используя:
sed -i.bak -e 's/[[:blank:]]//g' -e 's/.*/\L&/' -e 'w /dev/stdout' oldfile | tee newfile
Обратите внимание, что вам необходимо явно записать в /dev/stdout
, так как измененный файл не записывается в стандартный вывод по умолчанию, когда используется опция -i
.
В качестве альтернативы (и проще )переместите или скопируйте измененный файл:
sed -i.bak -e 's/[[:blank:]]//g' -e 's/.*/\L&/' oldfile && cp oldfile newfile
Вы не можете подписать сервер Centos на RHN . Вам понадобится дистрибутив RHEL. После этого вам понадобится:
subscription-manager register
С момента вашего последнего комментария:
Не беспокойтесь о сообщении о том, что система не зарегистрирована; Это просто информация.
Как я вижу, вам нужно включить репозитории Centos, чтобы вы могли использовать зеркала для загрузки необходимых пакетов, которые вы можете настроить только с помощью yum:
Создайте файл centosbase.repo
под /etc/yum.repos.d/
и заполните его приведенным выше:
[base]
name=CentOS $releasever – Base
baseurl=http://mirror.centos.org/centos/7/os/$basearch/
gpgcheck=0
enabled=1
[updates]
name=CentOS $releasever – Updates
baseurl=http://mirror.centos.org/centos/7/updates/$basearch/
gpgcheck=0
enabled=1
[extras]
name=CentOS $releasever – Extras
baseurl=http://mirror.centos.org/centos/7/extras/$basearch/
gpgcheck=0
enabled=1
Очистить кеш yum:
rm -rf /var/cache/yum/*
yum clean all
Затем установите свои пакеты:
yum install <package_name>
Если ваша система зависает на предупреждающем сообщении во время yum install
, очистите диспетчер подписки -:
subscription-manager clean all
Наконец, я переустановил CentOS 8, и проблема была решена. Возможно, что-то пошло не так во время первоначальной установки.