请问如何用shell作隔行删除

王朝other·作者佚名  2008-05-18
宽屏版  字体: |||超大  

我有一个文本文件,没隔一行就有一行乱码,如何用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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有