Loading [MathJax]/extensions/tex2jax.js
Ask Your Question
1

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

asked Nov 6 '14

metopa gravatar image

updated Nov 6 '14

Josef Kokeš gravatar image

cat file | a pak co?

add a comment

3 Answers

Sort by » oldest newest most voted
4

answered Nov 6 '14

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

link

Comments

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

Zoidy (Nov 6 '14)
add a comment
2

answered Nov 6 '14

Josef Kokeš gravatar image

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

link

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 (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)

to je asi pravda :-X

VojtechMyslivec (Nov 27 '14)
add a comment
1

answered Nov 6 '14

VojtechMyslivec gravatar image

updated Nov 26 '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)sedu

link
add a comment

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: Nov 6 '14

Seen: 538 times

Last updated: Nov 26 '14