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.