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

  免費注冊 查看新帖 |

Chinaunix

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

[文本處理] 請問shell能不能對使用正則匹配到的某組內(nèi)容進行替換 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-07-01 13:54 |只看該作者 |倒序瀏覽
本帖最后由 limaoyuan 于 2014-07-01 13:57 編輯

我只知道可以把匹配到的內(nèi)容顯示出來。如紅色標識的是第一個匹配和第二個匹配的內(nèi)容。

原始文件  test1.log
  1. first:second
  2. one:two
復(fù)制代碼
交換第2和第1匹配段的內(nèi)容位置
  1. sed 's/\(.*\):\([a-z]*\)/\2:\1/g' test1.log
復(fù)制代碼
輸出:
  1. second:first
  2. two:one
復(fù)制代碼
我的問題是:
有沒有方
法我把正則匹配的內(nèi)容更改掉,比如我把第2組匹配的內(nèi)容換成AAA。

期望上面的結(jié)果會是
  1. first:AAA
  2. one:AAA
復(fù)制代碼
PS:只能用替換正則匹配到的某組內(nèi)容替換的方式,不限于AWK的sub或SED等。


論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
2 [報告]
發(fā)表于 2014-07-01 13:58 |只看該作者
目測一下:
  1. awk -F: -vOFS=: '{$2="AAA"}1'
復(fù)制代碼
  1. sed 's/[^:]\+$/AAA/'
復(fù)制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2014-07-01 14:03 |只看該作者
通常情況下,好像是先知道可以
s/aaa/bbb/
后知道可以
s/\(aaa\)/\1/

論壇徽章:
0
4 [報告]
發(fā)表于 2014-07-01 14:14 |只看該作者
回復(fù) 2# yestreenstars

你好:
    awk -F: -vOFS=: '{$2="AAA"}1'  后面的1是什么意思?


另外這種方式不是我想問的那種,比如用很復(fù)雜的一個正則來滿足匹配了一行,然后要替換掉正則中第4組的內(nèi)容為”XXX“其他的內(nèi)容不變。

論壇徽章:
0
5 [報告]
發(fā)表于 2014-07-01 14:16 |只看該作者
回復(fù) 3# 用戶名注冊后不能更改


    你這第二句只是把匹配到的內(nèi)容再顯示出來吧?沒有用正則分組并替換第2組內(nèi)容的意思

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
6 [報告]
發(fā)表于 2014-07-01 14:17 |只看該作者
回復(fù) 1# limaoyuan
不是非常理解樓主的意圖,特別是這句:
  1. 只能用替換正則匹配到的某組內(nèi)容替換的方式,不限于AWK的sub或SED等
復(fù)制代碼
光從文本來看,目測這樣就可以了。
  1. sed 's/[a-z]*/AAA/2' i
  2. first:AAA
  3. one:AAA
復(fù)制代碼

論壇徽章:
0
7 [報告]
發(fā)表于 2014-07-01 14:22 |只看該作者
本帖最后由 limaoyuan 于 2014-07-01 14:23 編輯

回復(fù) 6# Herowinter

簡單說就是能否把下面這句中 \2 匹配的部分換成AAA。
  1. sed 's/\(.*\):\([a-z]*\)/\2:\1/g' test1.log
復(fù)制代碼
當然這只是一個簡單的例子,實際工作中可能是\7或\10都有可能,正式也要復(fù)雜很多,只是想知道這種形式的替換,shell可否,謝謝。
   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
8 [報告]
發(fā)表于 2014-07-01 14:24 |只看該作者
回復(fù) 7# limaoyuan

應(yīng)該可以,其實你還是給個比較真實的例子吧,
星辰大大的代碼應(yīng)該沒什么問題的,除非你字段
之間的分割符不是“:”。
   

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
9 [報告]
發(fā)表于 2014-07-01 14:26 |只看該作者
回復(fù) 7# limaoyuan
sed不支持9以上的分組~{:2_172:}

   

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
10 [報告]
發(fā)表于 2014-07-01 14:27 |只看該作者
回復(fù) 4# limaoyuan
  1. sed 's/\(.*\):\([a-z]*\)/\1:AAA/g'
復(fù)制代碼
醬紫可以嗎?

   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(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