私は次のような結果を生成する結果を解析しようとしていますnmcli dev wifi
。
* SSID MODE CHAN RATE SIGNAL BARS SECURITY
Prk Infra 11 54 Mbit/s 99 ▂▄▆█
VIDEOTRON2255 Infra 11 54 Mbit/s 67 ▂▄▆_ WPA1 WPA2
a space Infra 6 54 Mbit/s 65 ▂▄▆_ WPA2
* TNCAP4D0B18 Infra 11 54 Mbit/s 52 ▂▄__
awk -F" "
最初は、ほとんどすべての状況を解析するために使用しました。 Wi-Fiネットワークが接続されているすべてのデバイスa space
はまったく機能しないことがわかりました。
だから、1つではなく2つのスペースを試してみましたが、期待した結果は出ませんでした。上記の出力の列を一貫して解析するにはどうすればよいですか?
現在のスクリプトは次のとおりです。
nmcli dev wifi | sed 's/\*//g' > /tmp/scan
networks=$(cat /tmp/scan | awk -F" " '{print $1}' | sed '1d')
# ...
bars=$(cat /tmp/scan | awk -F" " '{print $6}' | sed '1d')
ベストアンサー1
awk -F' {2,}' # means - two or more spaces.
または
awk -F' +' # means - one space, then one or more spaces.
このコマンドは同じ意味を持ちます。フィールド区切り文字として2つ以上のスペースを使用します。