Arch Linux를 새로 설치할 때 무선 네트워킹을 구성하려고 합니다. 이 명령은 iw dev wlp3s0 scan
발견된 모든 네트워크에 대한 정보를 제공합니다. 내 SSID에 대한 정보가 필요합니다.
답변1
여기에는 확인할 Wi-Fi가 없지만 iw dev IFACE scan
각 섹션은 들여쓰기되지 않은 줄로 시작하고 이후의 모든 줄은 들여쓰기되어 있다고 생각합니다. 따라서 들여쓰기되지 않은 줄을 섹션 나누기로 처리할 수 있습니다.
이는 일반적인 명령으로는 파싱하기가 쉽지 않으므로 두 단계로 수행할 수 있습니다. 세션 사이에 빈 줄을 삽입하여 시작하십시오. 그런 다음 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;
}'