我想在比赛后打印数据。
我的文件格式如下:
SSID:WIFI-1 Passphrase:1234ABCD SSID:WIFI-2 Passphrase:123456789 SSID:WIFI-3 Passphrase:1234ABCD
如果SSID匹配后的单词,我必须执行一些操作。
匹配SSID
后,我必须连接到该WiFi输出:其中不用于连接WiFi。
我尝试了sed
和类似grep的命令
grep -oP '(?<=/SSID/)\w+' list_wifi.txt
sed 's:.*SSID::' list_wifi.txt
我也尝试过此操作,但是此操作会在发生后打印所有数据,但我只想打印WIFI-1,WIFI-2。
答案 0 :(得分:2)
由于您将grep
与-P
选项一起使用,因此您正在使用GNU grep
,以下解决方案将完成此任务:
grep -oP '^SSID:\K.+' file
模式匹配
^
-行首SSID:
-一个SSID:
子字符串\K
-匹配重置运算符,它会丢弃到目前为止在mathc内存缓冲区中匹配的所有文本.+
-其余1个或多个字符。请参见regex demo。