Re: [問題] 請教shellscript parse [ 1, 2 ] 中數字

看板Linux作者 (沒)時間12年前 (2011/10/20 02:31), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串4/5 (看更多)
echo "x [ 12, 34 ]"|sed 's/[^0-9]/ /g'|awk '{print$1==$2?"equal":"not equal"}' 想法: 將非數字全都替換成空白 再用awk抓出兩數字做比較 印出比對後的結果 盡可能用一行指令達到效果 僅適用於特殊情況 給你參考 :) ※ 引述《ptthidebear (= =)》之銘言: : Hi~ 各位板大先進大家好 : 小弟對於shell script 不是很熟悉 : 最近剛好碰到一個問題是 想要用shell script parse 字串 : "asdfwer [ 1234, 3456 ]" 中的 1234 和 3456 出來 : 並且加以比對看數字是不是一樣 : 當然希望最好是一行 command就可以解決...|||Orz : 不知道各位大大們對於這個問題有沒有什麼建議或是指教的 : 非常謝謝大家!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.196.50

10/20 08:48, , 1F
感謝大大!看來我要好好加強sed awk 和re的知識了QQ"
10/20 08:48, 1F

10/20 08:49, , 2F
我還想請教一個問題是 如果連續兩行一樣內容
10/20 08:49, 2F

10/20 08:49, , 3F
似乎出來的結果就都是為n@@?(剛剛試了一下好像是這樣)
10/20 08:49, 3F
已修正 之前給的有問題 抱歉 QQ [me@home ~]$ cat testInput abc [ 123, 456 ] def [24 ,24] gh[ 13,24] [me@home ~]$ cat testInput|sed 's/[^0-9]/ /g'|awk '{print$1==$2?"yes":"no"}' no yes no 修正後的版本應該不會發生你說的狀況 請再試試看 :) ※ 編輯: guessi 來自: 114.34.196.50 (10/20 10:02)

10/20 13:00, , 4F
jk543 [2,1]
10/20 13:00, 4F

10/20 17:40, , 5F
樓上,把 [ 前面的字串砍掉就好了.例外情形太多了吧.
10/20 17:40, 5F

10/20 17:43, , 6F
cat testInput|sed 's/.*\[/[/'|sed 's/[^0-9]/ /g'|awk..
10/20 17:43, 6F
文章代碼(AID): #1EdnUAK5 (Linux)
討論串 (同標題文章)
文章代碼(AID): #1EdnUAK5 (Linux)