GNU/Linux >> Znalost Linux >  >> Linux

Zabalit první znak řetězce pomocí Sed?

Řekněme, že mám řetězec foobar
Jak mohu snadno vytvořit něco jako [f]oobar bez konkrétního nahrazení f s [f] ?

Případ použití:Přijímám uživatelský vstup názvu procesu a chci zobrazit podrobnosti procesu a zároveň vyloučit grep .

Přijatá odpověď:

Udělejte:

sed 's/^./[&]/'
  • ^. odpovídá prvnímu znaku řádku
  • V nahrazení & je rozšířena na shodu, uzavřeme shodu s []

Příklad:

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

Linux
  1. Jak nahradit řetězec v souboru (souborech)?

  2. Sed:Vložit text za N-tý znak před/za daným řetězcem?

  3. Jak odstranit prvních N řádků souboru Ascii pomocí příkazů Shell?

  1. Jaký proces používá celý můj disk IO

  2. Velké první písmeno slov pomocí SED

  3. Použití grep a sed k nalezení a nahrazení řetězce

  1. Jak použít Sed k výměně víceřádkového řetězce?

  2. Převeďte řetězec na hexadecimální na příkazovém řádku

  3. Odeberte konkrétní znak pomocí awk nebo sed