Оберните первый символ строки, используя sed

Скажем, у меня есть строка foobar Как я могу легко создать что-то вроде [f]oobar без специальной замены f на [f] ?

Случай использования: Я принимаю пользовательский ввод имени процесса, и я хочу показать детали процесса, исключив grep .

  • любая команда, которая может форматировать html или xml из оболочки?
  • Рекурсивно заменить строку в файлах
  • Как использовать адрес содержимого в sed в osx без ошибки «ожидаемый контекстный адрес»
  • новый шаблон, требуемый из входного файла с помощью sed или awk
  • SED, чтобы найти и заменить точное слово, начинающееся с $
  • Форматирование переменной с плавающей запятой в инструкции SED
  • Существуют ли какие-либо скрипты sed, встроенные в основные дистрибутивы Linux?
  • Добавление соответствующих номеров в диапазон
  • 3 Solutions collect form web for “Оберните первый символ строки, используя sed”

    Делать:

     sed 's/^./[&]/' 
    • ^. соответствует первому символу строки
    • В замене & расширяется до соответствия, мы включаем совпадение с []

    Пример:

     % sed 's/^./[&]/' <<<'foobar' [f]oobar 

    В просто Bash с расширением подстроки:

     $ pat=foobar $ echo "[${pat:0:1}]${pat:1}" [f]oobar 
     v=foobar echo "[${v%${v#?}}]${v#?}" [f]oobar 
    Linux и Unix - лучшая ОС в мире.