Переименуйте каталог и подкаталог внутри каталога с таким же именем

sed 's:^Comment=\(.*$\):Comment='\''<span size="xx-large">\1</b>'\': \
  $HOME/3dchess.sh

Добавьте -i, когда будете уверены, что у вас есть то, что вы хотите.

Разбиение:

s:x:y: - Это общая схема замены, в основном заменяем x на y. Очевидно, что между двоеточиями у нас гораздо больше! Обычно : - это /, но sed берет все, что идет после s, и использование / здесь означает, что в шаблоне его нужно экранировать.

^Comment= - regex-сопоставление Comment= в начале строки ( ^ ). Хорошая практика, поскольку возможно (хотя и маловероятно) получить это в другом месте, что вызовет проблемы.

\(.*$\) - соответствует всему ( .* ) до конца строки ( $ ). Окружение с \( \) создает обратную ссылку для использования позже.

'\'' - закрыть кавычки '', поставить литерал '' и снова открыть кавычки. Альтернативный метод по сравнению с методом @terdon.

Комментарий=\1 - строка замены, \1 - обратная ссылка из предыдущей строки.

'\': - закрытые кавычки, ставим литерал ', затем заключительное двоеточие.

-1
22.03.2019, 11:28
0 ответов

Теги

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