亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 2467 | 回復: 10
打印 上一主題 下一主題

提取范圍 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-05-21 14:31 |只看該作者 |倒序瀏覽
     我有這樣一個文件,如下所示:

    cat file:
var   1
var   2
var   3
var   4
var   5
var   8
var   9
var   10
var   11
var   12
var   13
var   14
var   25
var   26
var   27
var   28
var   29
var   55
var   56
var   57
var   58
var   59
var   60
var   61
var   90
var   91


$1是名稱,每行都一樣,$2是位置編號,我想提取這個文件$2所在的位置范圍,得到這樣的結果:
var 1-5
var 8-14
var 25-29
var 55-61
var 90-91

這個結果文件的第二列指示的就是file文件的第二列所在的范圍,要如何才能實現(xiàn)呢?多多指教啊

論壇徽章:
0
2 [報告]
發(fā)表于 2012-05-21 15:22 |只看該作者
  1. awk 'NR==1{pre=$2;start=$2};NR>1{if($2-pre==1){a=start"-"$2}else{print $1,a;start=$2};pre=$2}END{print $1,a}' data
復制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2012-05-21 15:40 |只看該作者
jiejie455 發(fā)表于 2012-05-21 15:22


    您好!謝謝您幫忙啊,如果是想求出$2沒有包含的區(qū)間,即,不在的區(qū)間,如:
var 6-7
var 15-24
var 30-54
var 62-89



怎么實現(xiàn)呢,實在不好意思親,再看一下吧,教一送一

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
4 [報告]
發(fā)表于 2012-05-21 16:07 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
5 [報告]
發(fā)表于 2012-05-21 16:09 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽

論壇徽章:
0
6 [報告]
發(fā)表于 2012-05-21 16:24 |只看該作者
zooyo 發(fā)表于 2012-05-21 16:09
坑爹啊,剛寫完又來新要求。算了,得做事了。


{:3_185:} 不好意思。!

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [報告]
發(fā)表于 2012-05-21 18:10 |只看該作者
回復 3# linaiting

which one do you like

# awk '{if(s==""){s=e=$2;next}if($2-e==1){e=$2}else{print $1,s"-"e,e+1"-"$2-1;s=e=$2}}END{print $1,s"-"e}' file
var 1-5 6-7
var 8-14 15-24
var 25-29 30-54
var 55-61 62-89
var 90-91

   

論壇徽章:
13
15-16賽季CBA聯(lián)賽之同曦
日期:2016-01-28 19:52:032015亞冠之北京國安
日期:2015-10-07 14:28:19NBA常規(guī)賽紀念章
日期:2015-05-04 22:32:03處女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午馬
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56獅子座
日期:2013-09-08 08:37:52
8 [報告]
發(fā)表于 2012-05-21 21:34 |只看該作者
向大家學習一下

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大;照
日期:2013-04-17 11:48:45
9 [報告]
發(fā)表于 2012-05-22 10:19 |只看該作者
jiejie455 發(fā)表于 2012-05-21 15:22
awk 'NR==1{pre=$2;start=$2};NR>1{if($2-pre==1){a=start"-"$2}else{print $1,a;start=$2};pre=$2}END{print $1,a}' data


如果碰上單個沒連續(xù)的,會有錯。

$ cat data
var   1
var   2
var   23
var   27
var   28
  1. awk 'NR==1{pre=$2;start=$2};NR>1{if($2-pre==1){a=start"-"$2}else{print $1,a;start=$2};pre=$2}END{print $1,a}' data
  2. var 1-2
  3. var 1-2
  4. var 27-28
復制代碼

論壇徽章:
0
10 [報告]
發(fā)表于 2012-05-22 13:50 |只看該作者
回復 9# rdcwayx

確實有問題。謝謝指出
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP