您的位置:首页 > 文档 > Shell >
 文章分类 

请问如何用shell作隔行删除


创建:2005-10-26 00:49:41
作者:Unlinux
来自: http://www.Unlinux.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

转载自:http://www.unlinux.com/doc/shell/20051026/56.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·请问如何用Shell编: 在当前目录下保留指定日期的文件,其余的全部删除?  (2005-10-26 00:49:41)

Copyright © 2005 UnLinux.Com All Rights Reserved