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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

[文本處理] 取第一個和最后一個字段 [復(fù)制鏈接]

論壇徽章:
2
15-16賽季CBA聯(lián)賽之四川
日期:2020-08-18 20:19:4815-16賽季CBA聯(lián)賽之青島
日期:2022-01-19 11:51:49
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2023-08-17 20:00 |只看該作者 |倒序?yàn)g覽
本帖最后由 unix520 于 2023-08-23 16:15 編輯

a.txt
#
n樓.
n樓..
n樓+
n樓..&樓...
n層#
n層....

Sorry 再補(bǔ)充一下多一些栗子
n頂#
n樓.+
n樓.++
n樓+..
n樓..&樓...++
n層#+
n層....+
awk '/樓|層/' a      這似乎會輸出匹配到字段


如何能取到第一個 匹配的字段 "樓"  和最后一個匹配字段  "層"     
b.txt
n樓.
n層....
n樓.+
n層....+






論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-11 06:20:0015-16賽季CBA聯(lián)賽之山東
日期:2016-05-28 18:18:5615-16賽季CBA聯(lián)賽之新疆
日期:2017-04-12 22:55:4715-16賽季CBA聯(lián)賽之青島
日期:2017-06-26 18:30:0315-16賽季CBA聯(lián)賽之四川
日期:2017-09-04 12:27:0315-16賽季CBA聯(lián)賽之福建
日期:2018-02-09 14:28:3315-16賽季CBA聯(lián)賽之同曦
日期:2018-04-17 12:43:3415-16賽季CBA聯(lián)賽之浙江
日期:2018-07-14 13:27:4015-16賽季CBA聯(lián)賽之吉林
日期:2018-09-13 15:48:2915-16賽季CBA聯(lián)賽之新疆
日期:2016-05-07 05:05:3215-16賽季CBA聯(lián)賽之八一
日期:2016-03-14 12:32:06程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-12 06:20:00
2 [報告]
發(fā)表于 2023-08-18 10:00 |只看該作者
  1. [root@test-02 tmp]# cat a
  2. 層#
  3. 樓..
  4. 樓.
  5. 樓+
  6. 樓..&樓...
  7. 層#
  8. 層....
  9. [root@test-02 tmp]# awk 'BEGIN{found=0} /樓/{if(found==0){print $0; found=1}} /層/{lastLine=$0} END{if(lastLine!=""){print lastLine}}' a
  10. 樓..
  11. 層....
復(fù)制代碼

論壇徽章:
2
15-16賽季CBA聯(lián)賽之四川
日期:2020-08-18 20:19:4815-16賽季CBA聯(lián)賽之青島
日期:2022-01-19 11:51:49
3 [報告]
發(fā)表于 2023-08-18 13:54 |只看該作者
本帖最后由 unix520 于 2023-08-23 16:16 編輯

回復(fù) 2# baby_神
Thanhs
Sorry  大佬 我在頂樓補(bǔ)充多一些行
如果文本中有很多這樣的行,   不是只要僅2行  需要按這規(guī)律輸出所有這些行,  









論壇徽章:
1
19周年集字徽章-年
日期:2020-10-29 09:39:21
4 [報告]
發(fā)表于 2023-08-18 15:33 |只看該作者
  1. perl -00nE'say/(^樓\N*\R)\X+(^層\N*\R)/mg' file
復(fù)制代碼

想用awk的話,照著這思路改一下也行,或者用臨時變量計(jì)數(shù)法之類的都可以,建議你給出的例子不要把“層”放每段的最后一行,如果每一段的最后不一定就是你想要的內(nèi)容的話。
你這樣的文本樣例,別人也可以只找第一個“樓”開頭的行,然后再打印每段最后一行,你確定這樣是你想要的嗎?

論壇徽章:
2
15-16賽季CBA聯(lián)賽之四川
日期:2020-08-18 20:19:4815-16賽季CBA聯(lián)賽之青島
日期:2022-01-19 11:51:49
5 [報告]
發(fā)表于 2023-08-18 16:38 |只看該作者
本帖最后由 unix520 于 2023-08-18 16:46 編輯

回復(fù) 4# legs


如果匹配字段前后有字符或空格不行  



論壇徽章:
2
15-16賽季CBA聯(lián)賽之四川
日期:2020-08-18 20:19:4815-16賽季CBA聯(lián)賽之青島
日期:2022-01-19 11:51:49
6 [報告]
發(fā)表于 2023-08-18 16:39 |只看該作者
本帖最后由 unix520 于 2023-08-18 16:47 編輯

回復(fù) 4# legs



perl -0nE'say$1,$+while/(^\N+樓\N+\n)((?!\N*\n).)*(^\N+層\N+\n)/msg' file


我用的就是你以前寫的代碼,  很正確           只不過他是取后一個,   而不是第一個     但現(xiàn)在需要取第一個,  我改不好  不會prel


論壇徽章:
2
15-16賽季CBA聯(lián)賽之四川
日期:2020-08-18 20:19:4815-16賽季CBA聯(lián)賽之青島
日期:2022-01-19 11:51:49
7 [報告]
發(fā)表于 2023-08-18 16:40 |只看該作者
本帖最后由 unix520 于 2023-08-18 16:41 編輯

Sorry發(fā)多了

論壇徽章:
0
8 [報告]
發(fā)表于 2023-08-21 03:31 |只看該作者
不知道你解決了,我試了一下,沒有問題:
awk 'BEGIN{x=0;buffer=""}{if(substr($0,1,3)=="樓" && x==0){print $0;x=1}}{if($0=="" && buffer!=""){print buffer;print $0;x=0}}{buffer=$0} END{if($0!=""){print $0}}' 1.log

論壇徽章:
0
9 [報告]
發(fā)表于 2023-08-21 03:32 |只看該作者
不知道你解決了沒有,我試了一下,沒有問題,share給你:
awk 'BEGIN{x=0;buffer=""}{if(substr($0,1,3)=="樓" && x==0){print $0;x=1}}{if($0=="" && buffer!=""){print buffer;print $0;x=0}}{buffer=$0} END{if($0!=""){print $0}}' 1.log

論壇徽章:
0
10 [報告]
發(fā)表于 2023-08-21 03:33 |只看該作者
不知道你解決了沒有,I tried it with no problem, share with you:
awk 'BEGIN{x=0;buffer=""}{if(substr($0,1,3)=="樓" && x==0){print $0;x=1}}{if($0=="" && buffer!=""){print buffer;print $0;x=0}}{buffer=$0} END{if($0!=""){print $0}}' 1.log
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP