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