Jak vypsat každý sudý řádek souborů?
cat file | a pak co?
Případně to jde i pomocí sed
u:
sed -n '2~2p'
-n
zakáže automatické tisknutí řádků
2~2
vybere druhý řádek a pak po dvou všechny další (pro liché by to bylo 1~2
)
p
je vytiskne
imho jednodušší `awk 'NR%2==0' soubor` -- využívá výchozí akce `print $0` a podmínku už ve vzoru, ne v bloku akce
VojtechMyslivec (Nov 26 '14)Určitě jednodušší. Jen mi to pro začátečníky připadá hůř čitelné, proto jsem radši dal srozumitelnější verzi.
Josef Kokeš (Nov 27 '14)řešení pro "starý" sed
(na fray):
liché řádky sed 'n;d'
sudé řádky sed '1d;n;d'
co to vlastně dělá?
n
vytiskne řádku a do bufferu načte další (toto už je trochu advanced, řekl bych)
d
smaže řádku ("z bufferu")
1d
smaže první řádku
ps: funguje i v "novém" (g
)sed
u
Asked: Nov 6 '14
Seen: 538 times
Last updated: Nov 26 '14