GNU/Linux >> Znalost Linux >  >> Linux

Top 20 sed příkazů k použití

Dobrý den, přátelé. Příkaz sed je nadměrně používaný systémovými administrátory po celém světě. V podstatě se používá k nahrazení textu textem v textovém souboru jediným příkazem. Proto vám dnes představíme 20 nejlepších sed příkazů. Za tímto účelem se podíváme na ty nejužitečnější a nejběžnější.

20 hlavních příkazů k použití

Nahradit řetězec jiným řetězcem

Příkaz sed se používá k nahrazení řetězců. Je však natolik flexibilní, že si provedení můžeme přizpůsobit tak, aby vyhovovalo našim potřebám.

V textovém souboru změňte řetězec macOS na Linux museli bychom běžet

sed 's/macOS/Linux/' [file]

Poté můžete příkaz upravit podle požadovaných řetězců.

2.- Nahradit určitý počet výskytů řetězce

Výše uvedený příkaz nahradí řetězec pouze jednou. Můžete určit pořadí, ve kterém bude řetězec nahrazen.

sed 's/macOS/Linux/2' [file]

V tomto případě nahradí pouze druhý výskyt.

3.- Nahradit všechny výskyty řetězce

sed 's/macOS/Linux/g' [file]

4.- Nahraďte řetězec na konkrétním čísle řádku.

Další užitečnou možností je nahradit řetězec znaků na čísle řádku. To je užitečné, pokud soubor dobře znáte.

sed '[line] s/macOS/Linux/' [file]

Například pro nahrazení řetězce na třetím řádku.

sed '3 s/macOS/Linux/' [file]

5.- Nahrazování znaků v rozsahu

Chcete-li nahradit znaky, ale v určeném rozsahu řádků v souboru.

sed '30,40 s/macOS/Linux/g' [file]

V tomto případě bude řetězec nahrazen pouze mezi řádky 30 a 40.

6.- Vkládání zalomení řádků do souborů

Je také možné vložit prázdný konec řádku. Abyste toho dosáhli, musíte provést.

sed G [file]

Velmi užitečné v souborech, kde je vše blízko u sebe.

7.- Odstranění řádků ze souboru

Přestože se příkaz sed používá k nahrazení řetězců, ve skutečnosti s ním můžete dělat mnoho věcí. Jedním z nich je smazání řádku. Chcete-li to provést, spusťte.

sed 'nd' [file]

Nahraďte n s číslem řádku, který chcete odstranit.

8.- Zobrazit celý soubor kromě určitého rozsahu řádků.

Můžete také zobrazit soubor mínus rozsah řádků.

sed '20,35d' [file]

V tomto případě se zobrazí celý soubor kromě řádků 20 až 35.

9.-Zobrazení určitého rozsahu řádků v dokumentu

Pokud chcete zobrazit konkrétní rozsah v souboru, musíte provést následující příkaz:

sed -n 'Ni,Nlp' [file]

Kde musíte nahradit Ni s číslem startovní čáry a Nl s koncem.

sed -n '5,15p' [file]

V tomto případě zobrazí rozsah řádků 5 až 15.

10.- Odstraňte odpovídající řádky v textovém souboru

Můžete také odstranit řádky, které odpovídají určitému řetězci textu.

sed '/macOS/d' [file]

V tomto případě všechny řádky se slovem macOS bude smazán.

11.- Vytiskněte číslo řádku v souboru

Chcete-li vytisknout číslo řádku v textovém souboru pomocí příkazu sed . Abychom toho dosáhli, musíme provést pouze následující příkaz.

sed '=' [file]

Tímto způsobem se při tisku souboru zobrazí číslo řádku.

12.- Smazat všechny řádky souboru kromě zadaných.

Nyní můžete odstranit všechny řádky v souboru kromě těch, které určíte.

sed '15,21!d' [file]

Tímto způsobem soubor smaže všechny řádky kromě řádků od 15 do 21.

13.- Nahraďte všechna velká písmena malými písmeny pomocí sed

Velká a malá písmena jsou při práci s textovými soubory vždy relevantní. Takže s sed všechna velká písmena můžete nahradit malými písmeny.

sed 's/\(.*\)/\L\1/' [file]

14.- Odstraňte jakýkoli řádek, který začíná řetězcem

Pokud chcete smazat všechny řádky, které začínají konkrétním řetězcem, můžete spustit něco podobného

sed '/^macOS/d' [file] 

15.- Nahradit všechny výskyty řetězce od jednoho řádku do konce

V tomto případě můžete nahradit jeden řetězec jiným od určitého řádku až do konce řetězce

sed '3,$s/macOS/Linux/g' [file]

V tomto případě jsem zvolil řádek 3, ale může to být libovolný řádek.

16.- Tisk řady řádků ze souboru

Pokud chcete vytisknout pouze řadu řádků, můžete to udělat také pomocí sed následovně

sed -n '2,10p' [file]

V tomto příkladu budou vytištěny všechny řádky od 2 do 10.

Smažte prázdné řádky po každém řádku v souboru

Mazání prázdných řádků může být velmi užitečné v konfiguračních souborech nebo jiných souborech, kde je potřebujeme zpracovat.

Chcete-li tyto prázdné řádky odstranit, můžete spustit

sed '/^$/d'[file]

Je to tak jednoduché.

První znak každého slova pište velkými písmeny

Toto je jedna z nejužitečnějších a nejpoužívanějších možností. První písmeno každého slova můžete nahradit jeho ekvivalentem velkými písmeny.

Chcete-li toho dosáhnout, stačí provést tento příkaz

sed 's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g'

Je to snadné.

Odstranění posledního řádku souboru

V konfiguračním souboru musíme provést změny a obvykle je umísťujeme na poslední řádek. Co když to chceme smazat? Poslední řádek souboru můžete odstranit spuštěním

sed '$d' [file]

20.- Zobrazit nápovědu k příkazu sed

Nakonec se můžete podívat do nápovědy k příkazu vykonat

sed --help

A získáte výstupní obrazovku, jako je tato.

Děkuji za přečtení a doufám, že se vám líbila a že bude užitečná pro vaši práci.

stránka příkazu sed

Další příkazy terminálu


Linux
  1. 5 důvodů, proč používat Linux v roce 2020

  2. Jak používat příkazy historie Bash

  3. Použití příkazů Sed,ex a perl k vyhledání a nahrazení textu v Linuxu

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

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

  3. SED nahradit na více řádcích

  1. 5 Linuxových příkazů, které nikdy nepoužívám

  2. Jak použít Sed nebo Ex k nahrazení bloku (víceřádkového kódu) novým blokem textu (kódu)?

  3. Jak použít sed k nahrazení proměnné konfiguračního souboru?