![인터페이스 이름만 출력하는 방법](https://linux55.com/image/143228/%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%20%EC%9D%B4%EB%A6%84%EB%A7%8C%20%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
iwconfig
명령에서 인터페이스 이름을 인쇄 하고 싶습니다
. 이는 다음 명령의 출력입니다 iwconfig
.
wlp2s0 IEEE 802.11 ESSID:"CoreFragment"
Mode:Managed Frequency:2.442 GHz Access Point: 0C:D2:B5:55:DF:74
Bit Rate=72.2 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=55/70 Signal level=-55 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:4 Invalid misc:6567 Missed beacon:0
enp3s0 no wireless extensions.
wlx00e02d01076f IEEE 802.11bgn ESSID:"Aleph_inCar" Nickname:"<WIFI@REALTEK>"
Mode:Master Frequency:2.412 GHz Access Point: 00:E0:2D:01:07:6F
Bit Rate:72.2 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=4/100 Signal level=4/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
enx001e101f0000 no wireless extensions.
나는 이것을 시도했습니다 :
iwconfig | grep ESSID | sed 's/\"//g' | cut -f1 -d" "
하지만 출력에 무선 확장이 없거나 인쇄 방법 명령의 출력을 얻고
싶습니다 ... iwconfig
wlp2s0,enp3s0,wlx00e02d01076f,enx001e101f0000
답변1
귀하의 명령은 완벽하게 작동합니다. 필요에 따라 처리할 수 있도록 STDERR 출력을 STDOUT으로 리디렉션하기만 하면 됩니다 grep
.cut
iwconfig 2>&1 | grep ESSID | sed 's/\"//g' | cut -f1 -d" "
그러나 이 접근 방식은 grep
, 를 사용 sed
하며 cut
과잉입니다. grep
아래 업데이트에서 제안한 대로, 단 하나의 업데이트로 원하는 것을 얻을 수 있습니다.
UDP 날짜:
편집된 질문을 기반으로 사용자가 Ubuntu를 사용하고 있으므로 grep
Perl 정규식을 지원한다는 점을 고려하면 다음과 같은 접근 방식이 있습니다.
iwconfig 2>&1 | grep -oP "^\w+"