2013-08-11 6 views
2

В принципе у меня есть следующий сценарий:Выбор части строки

#!/bin/bash 
echo "What shall we set into managed mode? (e.g. wlan0)" 
read thisend 
sudo ifconfig $thisend down 
sudo iwconfig $thisend mode managed 
sudo ifconfig $thisend up 
var=$(iwconfig wlan0) 

Что делает скрипт (как вы видите), чтобы установить беспроводную карту в управляемом режиме, но я хотел бы, чтобы дважды проверьте в конце скрипта, если он действительно установлен в управляемом режиме, на который я напишу какую-нибудь систему сравнения, но пока я просто хочу знать, можно ли вычеркнуть все остальное из вывода iwconfig wlan0, за исключением Mode: Managed , и записать оставшийся результат в новую переменную.

ответ

2

var = $(iwconfig wlan0 | grep -v 'Mode: Managed')

от grep страницы человека

-v, --invert-match 
     Selected lines are those not matching any of the specified patterns. 
+0

Спасибо. Я только что вернулся к работе с Linux, и я полностью забыл о grep. Я действительно искал, как выбрать только часть «Mode: Managed». Приветствия за быстрый ответ! – cubrr

+0

О, я пропустил слово 'strip'; рад, если он все равно поможет – Alec

0

Используйте grep или sed, чтобы извлечь только ту часть, которую вы хотите.

Смежные вопросы