GNU/Linux >> Znalost Linux >  >> Linux

sed:příkaz nenalezen

Příkaz sed nebo stream editor je program, který můžete použít k úpravě textových souborů podle různých parametrů. Příkaz sed lze také použít pro akce globálního vyhledávání a nahrazování. Některé z běžných možností příkazů a jejich použití jsou uvedeny v následující tabulce.

Možnost Popis
-d Smažte řádky, které odpovídají konkrétnímu vzoru nebo číslu řádku.
-n,p Vytiskněte pouze řádky, které obsahují vzor.
s Nahraďte první výskyt řetězce v souboru.
S,g Globálně nahraďte původní řetězec náhradním řetězcem pro každý výskyt v souboru.

Syntaxe

Obecná syntaxe příkazu sed je:

# sed {'option/address/ action'} {file names}

Adresy říkají sed, aby jednal pouze s určitými řádky nebo aby jednal pouze s textem, který odpovídá danému vzoru regulárního výrazu. Jsou volitelné. Po adresách následuje akce, která se má provést při nalezení shody. Posledním argumentem je název vstupního souboru. Parametry volby, adresy a akce jsou obvykle uzavřeny v jednoduchých uvozovkách.

Pokud při spouštění příkazu sed narazíte na níže uvedenou chybu:

sed: command not found

můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:

Distribuce OS Příkaz
Debian apt-get install sed
Ubuntu apt-get install sed
Alpine apk přidat sed
Arch Linux pacman -S sed
Kali Linux apt-get install sed
CentOS yum install sed
Fedora instalace dnf sed
Raspbian apt-get install sed

Příklady příkazů sed

1. Nahraďte první výskyt regulárního výrazu v každém řádku souboru a vytiskněte výsledek:

# sed 's/regular_expression/replace/' filename

2. Nahraďte všechny výskyty rozšířeného regulárního výrazu v souboru a vytiskněte výsledek:

# sed -r 's/regular_expression/replace/g' filename

3. Nahraďte všechny výskyty řetězce v souboru a přepište soubor (tj. na místě):

# sed -i 's/find/replace/g' filename

4. Vyměňujte pouze na čarách, které odpovídají vzoru čar:

# sed '/line_pattern/s/find/replace/' filename

5. Odstraňte řádky odpovídající vzoru řádků:

# sed '/line_pattern/d' filename

6. Vytiskněte prvních 11 řádků souboru:

# sed 11q filename

7. Aplikujte na soubor více výrazů najít-nahradit:

# sed -e 's/find/replace/' -e 's/find/replace/' filename

8. Nahraďte oddělovač `/` jakýmkoli jiným znakem, který není použit ve vzorech hledání nebo nahrazování, např. `#`:

# sed 's#find#replace#' filename


Linux
  1. dos2unix:příkaz nenalezen

  2. chmod:příkaz nenalezen

  3. id:příkaz nenalezen

  1. w:příkaz nenalezen

  2. mkfs:příkaz nenalezen

  3. df:příkaz nenalezen

  1. du:příkaz nenalezen

  2. soubor:příkaz nenalezen

  3. tune2fs:příkaz nenalezen