GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit prázdné řádky ze souboru (včetně tabulátoru a mezer)?

Chci ze souboru odstranit všechny prázdné řádky. I když řádek obsahuje mezery nebo tabulátory, měl by být také odstraněn.

Přijatá odpověď:

Stačí grep pro jiné položky:

grep '[^[:blank:]]' < file.in > file.out

[:blank:] , uvnitř rozsahů znaků ([...] ), se nazývá třída znaků POSIX. Existuje několik jako [:alpha:] , [:digit:][:blank:] odpovídá vodorovnému prázdnému místu (v národním prostředí POSIX je to mezera a tabulátor, ale v jiných národních prostředích jich může být více, jako všechny horizontální mezery Unicode v národních prostředích UTF8), zatímco [[:space:]] odpovídá horizontálním a vertikálním mezerám (stejné jako [:blank:] plus věci jako svislý tabulátor, zdroj formuláře…).

grep '[:blank:]'

Vrátí řádky, které obsahují jakýkoli ze znaků, : , b , l , a , n nebo k . Třídy znaků jsou rozpoznány pouze v rámci [...] a ^ v rámci [...] neguje množinu. Takže [^[:blank:]] znamená jakýkoli znak kromě prázdných.


Linux
  1. Jak odstranit duplicitní řádky uvnitř textového souboru?

  2. Tisknout čáry mezi (a včetně) dvěma vzory?

  3. Efektivně odstranit prvních pár řádků z textového souboru?

  1. Jak odebrat aplikace Kde a Xfce z nabídky Gnome?

  2. Jak odstraním nové řádky z textového souboru?

  3. Jak mohu kat soubor a odstranit komentované řádky?

  1. Jak odstranit Bom ze souboru UTF-8?

  2. Počítejte řádky, slova a znaky ze souboru v Linuxu

  3. Jak zobrazit určité řádky z textového souboru v Linuxu?