您的位置:首页 > 运维架构 > Shell

shell 打印 1-100之间的奇偶行

2012-06-28 16:41 405 查看
有道面试题打印1 100的奇数(方法越多越好)

1. seq 1 2 100

2. seq 100 | awk 'i=!i'

3. i=1

while [ $i -lt 100 ]

do

echo $i

let i=i+2

done

4. for((i=1;i<=100;i++))

do

echo $i

let i+=1

done

5. seq 1 100 |sed -n '{p;n}'

6. seq 1 100 |sed -n '1~2p'

sed

1)

奇数行:sed -n'1~2p' urfile

偶数行:sed -n'2~2p' urfile

2)

偶数行:sed-n 'n;p' urfile

奇数行:sed-n '$!N;P' urfile

3)

奇数行:sed'n;d' urfile

偶数行:sed'1d;n;d' urfile

4)

偶数行:sed -n 'n;p' urfile

奇数行:sed -n'p;n' urfile

5)

奇数行:sed '0~2d' urfile

偶数行:sed '1~2d' urfile

awk

1)

奇数行:awk'NR%2==1{print $0}' urfile

偶数行:awk'NR%2==0{print $0}' urfile

2)

偶数行:awk 'NR%2'urfile

奇数行:awk'!(NR%2)' urfile

3)

奇数行:awk'i=i?0:1' urfile

偶数行:awk'!(i=i?0:1)' urfile

4)

偶数行:awk'!(i=!i)' urfile

奇数行:awk 'i=!i'urfile

5)

奇数行:awk '++i%2'urfile

偶数行:awk 'i++%2'urfile

6)

偶数行:awk'!and(FNR,1)' urfile

奇数行:awk'and(FNR,1)' urfile

7)

奇数行:awk 'getline p||1' urfile

偶数行:awk 'getline p||2' urfile

Perl

1)

奇数行:perl -ne 'print if $. % 2' urfile

偶数行:perl -ne 'print if not $. % 2' urfile

2)

奇数行:perl -pe '<>' urfile

偶数行:perl -pe '$_ = <>' urfile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: