Ask Your Question
1

Jak vypsat každý sudý řádek souborů?

asked 2014-11-06 18:59:03 +0100

metopa gravatar image

updated 2014-11-06 19:00:50 +0100

Josef Kokeš gravatar image

cat file | a pak co?

edit retag flag offensive close delete

3 Answers

Sort by » oldest newest most voted
4

answered 2014-11-06 22:22:40 +0100

MiB gravatar image

Případně to jde i pomocí sedu:

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

edit flag offensive delete publish link more

Comments

Tohle nefunguje na fray, tam se musí použít gsed.

Zoidy ( 2014-11-06 22:46:29 +0100 )edit
2

answered 2014-11-06 19:00:39 +0100

Josef Kokeš gravatar image

Pak AWK: awk '{ if (NR%2 == 0) print $0; }' Cvičí se na osmém cvičení.

edit flag offensive delete publish link more

Comments

1

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 ( 2014-11-26 20:10:35 +0100 )edit

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š ( 2014-11-27 15:24:57 +0100 )edit

to je asi pravda :-X

VojtechMyslivec ( 2014-11-27 20:19:05 +0100 )edit
1

answered 2014-11-06 23:18:06 +0100

VojtechMyslivec gravatar image

updated 2014-11-26 20:06:35 +0100

ř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)sedu

edit flag offensive delete publish link more

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Question tools

Follow
1 follower

Stats

Asked: 2014-11-06 18:59:03 +0100

Seen: 538 times

Last updated: Nov 26 '14