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

  免費注冊 查看新帖 |

Chinaunix

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

shell 修改文件內(nèi)容請教 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-07-09 22:36 |只看該作者 |倒序瀏覽
本帖最后由 enduser007 于 2012-07-09 23:00 編輯

各位大俠,小弟一個文件,誰的名為a.txt

內(nèi)容如下:

.....
PROJECT   TEST_PROJECT
PROJECT_NAME   TEST
SOLUTION_FILE  C:\test\1.pkg
  SOLUTION_FILE  no
.........
     SOLUTION_FILE  C:\test\1.pkg
   ORG_SOLUTION_FILE  C:\backup\1.pkg

.......

其中  SOLUTION_FILE  和 ORG_SOLUTION_FILE  行的行首均有多個空格.

小弟想示一shell腳本
對于SOLUTION_FILE  一整行替換成 SOLUTION_FILE    C:\test\2.pkg,而不需要對ORG_SOLUTION_FILE  行進行修改,一直不怎么實現(xiàn),請大俠們指點一下,多謝!

論壇徽章:
0
2 [報告]
發(fā)表于 2012-07-09 22:49 |只看該作者
  1. sed '/\bSOLUTION_FILE/s/1/2/' a.txt
復制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2012-07-09 23:01 |只看該作者
本帖最后由 enduser007 于 2012-07-09 23:02 編輯

謝謝 kk5234  的回復!

由于描述有一點錯誤,我修正了一下

就是前邊 還有一行叫SOLUTION_FILE  no
的行!但不能修改這行!

論壇徽章:
0
4 [報告]
發(fā)表于 2012-07-10 00:08 |只看該作者
回復 2# kk5234


    我按你的方法打了一遍,沒有反應。
    主要對\1\2這個不是很理解,和他的要求關(guān)系大不。
    給講一下吧。謝謝

回復 3# enduser007


    我是這樣寫的
    #grep -v 'no' \
    >sed '/SOLUTION_FILE/s/^ *//'
   

論壇徽章:
0
5 [報告]
發(fā)表于 2012-07-10 09:13 |只看該作者
本帖最后由 kk5234 于 2012-07-10 09:14 編輯

回復 3# enduser007
  1. sed ':b;N;$!bb;s/1/2/' a.txt
復制代碼
  1. sed '0,/SOLUTION_FILE/s/1/2/' a.txt
復制代碼

論壇徽章:
0
6 [報告]
發(fā)表于 2012-07-10 09:50 |只看該作者
覺得lz的需要的可能只是\b
如果區(qū)別只是1.pkg和2.pkg的話
  1. $sed '/\bSOLUTION_FILE/ s/1/2/ ' data
  2. PROJECT   TEST_PROJECT
  3. PROJECT_NAME   TEST
  4. SOLUTION_FILE  C:\test\2.pkg
  5.   SOLUTION_FILE  no
  6. .........
  7.      SOLUTION_FILE  C:\test\2.pkg
  8.    ORG_SOLUTION_FILE  C:\backup\1.pkg
復制代碼

論壇徽章:
0
7 [報告]
發(fā)表于 2012-07-10 09:54 |只看該作者
回復 1# enduser007


    區(qū)別不只是1和2,整行替換
  1. personball@vostro:awk$sed 's/\bSOLUTION_FILE[ ]*C:.*/whatyouwanttobe/ ' data
  2. PROJECT   TEST_PROJECT
  3. PROJECT_NAME   TEST
  4. whatyouwanttobe
  5.   SOLUTION_FILE  no
  6. .........
  7.      whatyouwanttobe
  8.    ORG_SOLUTION_FILE  C:\backup\1.pkg
  9. personball@vostro:awk$
復制代碼
如果盤符不都是C, 也可以用 [C-F]表示可能是CDEF盤sed 's/\bSOLUTION_FILE[ ]*[C-F]:.*/whatyouwanttobe/ ' data

論壇徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大;照
日期:2013-03-13 15:29:49CU大;照
日期:2013-03-13 15:30:19
8 [報告]
發(fā)表于 2012-07-11 09:14 |只看該作者
  1. sed '/no/!s/\(\bSOLUTION_FILE\).*/\1 C:\\test\\2.pkg/g' urfile
復制代碼

論壇徽章:
0
9 [報告]
發(fā)表于 2012-07-11 09:47 |只看該作者
我怎么感覺不用那么復雜呢?樓主關(guān)心的實質(zhì)性內(nèi)容是什么?我發(fā)現(xiàn),不知道是不是巧合啊,你給的例子里面每個你要修改的SOLUTION_FILE  C:\test\1.pkg
直接把這一段替換成SOLUTION_FILE    C:\test\2.pkg不就行了么?前面有空格的話,而ORG_SOLUTION_FILE  C:\backup\1.pkg

明顯后面是back而不是test啊。。。
sed s不能直接搞定么?

論壇徽章:
0
10 [報告]
發(fā)表于 2012-07-11 11:16 |只看該作者
謝謝大家的幫助
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(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