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

  免費注冊 查看新帖 |

Chinaunix

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

[求助] sed 分支跳轉及循環(huán)問題? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2006-07-23 21:16 |只看該作者 |倒序瀏覽
最近在學習 SED 的分支(跳轉)命令,碰到一些問題。
如:我想讓 sed 循環(huán)十次執(zhí)行某些命令,使用了下面的腳本。

test1

  1. G;s/$/1234567890/
  2. :loop
  3. s/\n$//;t break
  4. s/^/#/
  5. s/.$//
  6. b loop
  7. :break
復制代碼


test1 的腳本我覺得應該是可行的,但是試過了幾個版本的 sed 都不能執(zhí)行循環(huán)部分,請大家?guī)兔Ψ治鲆幌略颉?br /> 我做下面的調整可以正確執(zhí)行,但還是很想知道 test1 不能執(zhí)行的原因,希望能得到幫助。

test2

  1. G;s/$/1234567890/
  2. :loop
  3. /\n$/t break
  4. s/^/#/
  5. s/.$//
  6. b loop
  7. :break
  8. s/\n$//
復制代碼

論壇徽章:
7
榮譽版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
2 [報告]
發(fā)表于 2006-07-24 10:18 |只看該作者
因為s/$/1234567890/總是成功執(zhí)行,所以一旦執(zhí)行t命令就會跳轉。

t label
              If  a  s///  has  done  a successful substitution since the last
              input line was read and since the last  t  or  T  command,  then
              branch to label; if label is omitted, branch to end of script.

論壇徽章:
0
3 [報告]
發(fā)表于 2006-07-24 20:29 |只看該作者
謝謝 r2007
已經明白了,T 函數只是測試在當前輸入行是否進行成功替換,而不是最近的替換命令是否成功替換。
這種設計讓人感覺沒有測試最近的替換命令的成功與否更適合程序編寫習慣。
再次致謝,我已經熟悉 T 函數的用法了。
重寫一下腳本。


  1. G;s/$/1234567890/
  2. t loop
  3. :loop
  4. s/\n$//;t
  5. s/^/#/
  6. s/.$//
  7. t loop
復制代碼

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
4 [報告]
發(fā)表于 2006-07-25 19:01 |只看該作者
3樓注意大小寫,有t命令,還有T命令。^_^

論壇徽章:
0
5 [報告]
發(fā)表于 2006-07-26 22:16 |只看該作者
謝謝 woodie 兄提醒,我知道 Gsed 有 T 命令的,回帖時不經意就將 t 給大寫了。
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP