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

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

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

  • Как найти и заменить только в нескольких столбцах?
  • sed / awk / grep найти строку между точкой с запятой
  • Удалить конкретный столбец, если он существует в файле CSV
  • Заменить первый столбец файла с помощью вывода команды
  • Как префикс значений столбца с апострофом (')?
  • Удалить поля, содержащие определенную строку
  • Использование eval и sed для выполнения подсчета и управления скриптами
  • sed заменяет только несколько регулярных выражений букв
  • 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 - лучшая ОС в мире.