sed 取代問題求教 - Linux

Erin avatar
By Erin
at 2020-11-21T20:13

Table of Contents


原始文檔
xxxxx(可忽略)
Current Frequency:2.412 GHz (Channel 3)

要抽出後面channel的數字
"號稱"原本可行的語法
sed -n 's/[ \\t]*Current Frequency:.*(Channel \\([0-9]*\\))/\\1/p'
不過實際執行是no match

我在https://regex101.com/ 玩了一下
可行的抽出有兩種
[ \\t]*Current Frequency:.*(Channel ([0-9]*))\)
用\2 可以抽出3
[ \\t]*Current Frequency:.*\(Channel ([0-9]*)\)
用\1 就能抽出3
可是把上面兩個丟去GNU sed就掛了....
https://sed.js.org/
輸入
's/[ \\t]*Current Frequency:.*\(Channel ([0-9]*)\) /\1/p'
只會吐原始字串給我...
Current Frequency:2.412 GHz (Channel 3)

請問到底該怎麼取才對呢orz

--
Tags: Linux

All Comments

William avatar
By William
at 2020-11-23T11:15
多一個反斜線 \([0-9]*\) 和 \1 就可以了
Xanthe avatar
By Xanthe
at 2020-11-25T02:17
有二個括號就會匹配到第二個括弧,然後也取代
Dora avatar
By Dora
at 2020-11-26T17:19
以下命令不知是否是你要的結果 ( <f> 為輸入檔)
Daniel avatar
By Daniel
at 2020-11-28T08:22
grep -o -e 'Channel [0-9]*' < <f> | grep -o -e '[0-9]
*'

root 放在 lvm raid 裡無法開機

Olive avatar
By Olive
at 2020-11-20T20:32
我不知道這樣是不是可行的, 我猜可以,但碰到一點問題不上不下。 大概就是我把 root 和 home 都搬到 lvmraid(7) 裡, 做成 raid 1 ,但發現開不了機。 開機時會跳出以下的錯誤訊息: mdX: bitmap file is out of date (750 andlt; 751) ...

make的指令搜尋路徑

Cara avatar
By Cara
at 2020-11-18T22:49
PATH=/cygdrive/c/Program\ Files/SDCC/bin/:$PATH make 我的makefile: CC = sdcc.exe $ make /bin/sh: sdcc: command not found ------------------------- PATH不去 ...

菜雞對WSL的一些疑問

Heather avatar
By Heather
at 2020-11-17T15:24
各位版友好 最近剛拿新筆電 想說趁機試試WSL 目前有些環境上的疑問 想請教各位版友 目前我是安裝Ubuntu 20.04版 想請問我在wsl內使用apt-get install的程式 是獨立在windows系統之外的嗎? 如果我把這個Distribution解除安裝的話這些程式都會消失? 另外像是Doc ...

ubuntu20.04 myslq8.0更新問題

John avatar
By John
at 2020-11-16T11:05
各位前輩好: 作業環境:ubuntu16.04 apache2.42 mysql5.7 php7.0 有使用phpmyadmin管理資料庫與webmin做主機管理 圖片網址https://imgur.com/a/uq9lbNS 目標是將 ubun ...

時間增減的計算

Megan avatar
By Megan
at 2020-11-16T10:31
目前在寫一個備份用得程式 希望可以把要備份保留的數量做成變數來指定 像下面~設定保留 7 天 將 7 天前的檔案做刪除 del_num=7 stamp=`date +%Y%m%d_%H%M` #時間標記 , format 20110107_1256 stamp_del=`date -dand#39; -${d ...