当前位置:Linux教程 - Shell - shell - 请问如何用shell作隔行删除

shell - 请问如何用shell作隔行删除

请问如何用shell作隔行删除
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

我有一个文本文件,没隔一行就有一行乱码,如何用script作到隔行删除呢?

awk 'BEGIN{i=1}{if(i==1){print $0; i=0;}else{i=1}}' FILE >NEW_FILE

cat filename|awk '{if ( NR % 2==1)print $0}'

多谢啦!
如果要删的是奇数行呢? 就是删除1,3,5,7......行?

借版主的一用
cat filename|awk '{if ( NR % 2==0)print $0}'
不就可以了嘛,呵呵

再说一句,由于awk缺省打印$0,所以上述答案中的$0可以省略
删除奇数行
cat filename | awk '{if(NR % 2==0) print}'
删除偶数行
cat filename | awk '{if(NR % 2==1) print}'

省得好!如此我们才能共同提高.


还可以省略一些
删除奇数行
awk 'NR % 2==0' filename
删除偶数行
awk 'NR % 2==1' filename