Chinaunix

标题: 问个数字合并的问题? [打印本页]

作者: jason.wang    时间: 2005-06-27 10:01
标题: 问个数字合并的问题?
有如下数据

123456
123457
123458
123459
256720
256721
256722
256723
256724
456756

-----
想合并成
123456  123459
256720  256724
456756  456756
作者: jx00p    时间: 2005-06-27 10:04
标题: 问个数字合并的问题?
没找到规律,怎么合并?
作者: jason.wang    时间: 2005-06-27 10:19
标题: 问个数字合并的问题?
被合并的数都是连着的呀


123456
123457
123458
123459
-----------
256720
256721
256722
256723
256724
------------
456756
作者: waker    时间: 2005-06-27 10:47
标题: 问个数字合并的问题?
awk '$1!=a+1 {printf a"\n"$1" "}
{a=$1}'
END {print}'
作者: zj0953    时间: 2005-06-27 10:55
标题: 问个数字合并的问题?
高!我还在想,分割位数来检测,真简洁!收藏
作者: honbj    时间: 2005-06-27 11:11
标题: 问个数字合并的问题?
原帖由 "waker" 发表:
awk '$1!=a+1 {printf a"\n"$1" "}
{a=$1}'
END {print}'


请教调用方式

#awk -f thisfile datafile

为什么会报错呢
作者: mocou    时间: 2005-06-27 11:12
标题: 问个数字合并的问题?
awk '$1!=a+1 {printf a"\n"$1" "}{a=$1}END{print}'  file
作者: jason.wang    时间: 2005-06-27 11:13
标题: 问个数字合并的问题?
我来试试  谢谢老大
作者: honbj    时间: 2005-06-27 11:20
标题: 问个数字合并的问题?
[quote]原帖由 "mocou"]awk '$1!=a+1 {printf a"\n"$1" "}{a=$1}END{print}'  file[/quote 发表:


输出结果



  1. 123456 123459
  2. 256720 256724
  3. 456756
复制代码

作者: waker    时间: 2005-06-27 11:23
标题: 问个数字合并的问题?
[quote]原帖由 "honbj"][/quote 发表:


sed '/[0-9]/!d' file|awk '..............
作者: begincwcw    时间: 2005-06-27 12:27
标题: 问个数字合并的问题?
程序如下:

nawk '
    NR == 1 { printf("%s", $1); x = $1 }
    NR > 1 { if($1 != x + 1) printf(" %s\n%s", x, $1); x = $1 }
END { printf(" %s\n", x) }' filename

运行结果如下:
123456 123459
256720 256724
456756 456756

cat filename
123456
123457
123458
123459
256720
256721
256722
256723
256724
456756
作者: jason.wang    时间: 2005-06-27 15:43
标题: 问个数字合并的问题?
[quote]原帖由 "mocou"]awk '$1!=a+1 {printf a"\n"$1" "}{a=$1}END{print}'  file[/quote 发表:




我这里 试这个可以的
作者: woodie    时间: 2005-06-27 15:44
标题: 问个数字合并的问题?
begincwcw的比较容易理解,不错!
waker的很简洁,足见awk功力很深。不过开始时会打印多余的空行,修改一下就很完美了:
  1. awk '$0!=a+1{printf a$0" "}{a=$0"\n"}END{print}'
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2