求教
移民生活北美論壇 -> 電子電玩

#1: 作者: 逍遙時間: 2017-9-03 14:43

有一個很長的字串(一行),如何寫一個循環,查找所有的匹配字串?
在BASH下
謝謝。

我的意思是循環所有的匹配字串,做一些字串處理。

#2: 作者: grinder時間: 2017-9-03 15:08

一個笨的辦法:

expr "$string" : '\($substring\)' 取出匹配字串,做你的分析

然後 string=${string#substring}去掉匹配字串,再回到上一步,直到上一步返回非零 $? -ne 0

#3: 作者: 逍遙時間: 2017-9-03 21:05

grinder 寫道:
一個笨的辦法:
expr "$string" : '\($substring\)' 取出匹配字串,做你的分析
然後 string=${string#substring}去掉匹配字串,再回到上一步,直到上一步返回非零 $? -ne 0


謝謝,我再想想看 icon_mrgreen.gif

#4: 作者: grinder時間: 2017-9-04 11:31

逍遙 寫道:
謝謝,我再想想看 icon_mrgreen.gif

我現在覺得我說的不對,至少不嚴密。不用這麼委婉

#5: 作者: 白茫茫時間: 2017-9-04 22:14

用bash做這種計算的工作,就是選錯了武器了。Perl或者Python是你的選擇,它們都可以用pipe和bash連起來。這才是*nix shell強大之處

#6: 作者: Giant時間: 2017-9-05 10:43

逍遙 寫道:
有一個很長的字串(一行),如何寫一個循環,查找所有的匹配字串?
在BASH下
謝謝。

我的意思是循環所有的匹配字串,做一些字串處理。


為啥一定要循環?要做啥字串處理?

沒試試sed?

#7: 作者: 逍遙時間: 2017-9-05 18:58

解決了。我用sed 把匹配字串變成一行一行的,就好處理了。

謝謝各位。

#8: 作者: grinder時間: 2017-9-05 20:46

問狗更省腦子省時間

stackoverflow.com/ques...gs-in-bash




移民生活北美論壇 -> 電子電玩


output generated using printer-friendly topic mod, 所有的時間均為 美國太平洋時間

1頁,共1

Powered by phpBB 2.0.8
Content received from: 加西網 (溫哥華門戶網), https://www.westca.com