Arch Linuxの新規インストール時にワイヤレスネットワークを設定しようとしています。このコマンドは、iw dev wlp3s0 scan
見つかったすべてのネットワークに関する情報を提供します。私のSSIDに関する情報が必要です。
答え1
ここには確認するWi-Fiはありませんが、iw dev IFACE scan
各セクションはインデントされていない行で始まり、その後のすべての行はインデントされていると思います。したがって、インデントされていない行を区切りとして扱うことができます。
これは通常のコマンドでは解析するのが簡単ではないため、2つのステップで実行できます。セッション間に空行を挿入することから始めます。次に、awkの短絡モードを使用します。
iw dev wlp3s0 scan |
sed 's/^[^ \t]/\n&/' |
awk -v RS= '/^[ \t]*SSID: myssid$/'
SSIDの特殊文字を正しく引用するように注意してください。変数として渡して特殊文字を安全に処理する必要がある場合は、操作が少し増えます。
iw dev wlp3s0 scan |
sed 's/^[^ \t]/\n&/' |
awk -v RS= -v target="$ssid" '{
ssid = substr($0, index($0, "\tSSID:"));
ssid = substr(ssid, 1, index(ssid, "\n"));
if (ssid == target) print;
}'