CentOS 6 работает на довольно старом ядре, являясь стабильным[*] дистрибутивом Linux, которому сейчас около 3-х лет. Да, CentOS 6 до сих пор получает обновления, но они намеренно не обновляют ядро больше, чем должны. (Он до сих пор работает под 2.6.32, в то время как сейчас 3.14.)
Есть шанс, что вы можете скачать и скомпилировать более новый драйвер Intel WiFi, но даже это может быть сложно, когда разрыв между используемым ядром и ядром, для которого драйвер был впервые разработан, становится таким большим.
Вот почему я предложил попробовать Fedora или RHEL 7 release candidate на этой машине. Просто наличие более нового ядра может решить проблему.
Нет ничего о Hadoop или желании стать администратором Linux, что требовало бы использования CentOS 6. RHEL 7 скоро выйдет, а за ним должен последовать CentOS 7. Если вы не собираетесь переходить к обслуживанию набора существующих CentOS 6, вы можете начать изучать новые технологии в любом случае.
Другой хороший вариант - запустить CentOS 6 на VM под операционной системой, которая поддерживает ваш беспроводной сетевой интерфейс. Linux отлично работает в ВМ
.
[*] "Стабильный" в отличие от кровоточащего дистрибутива Linux, который будет принимать более новые технологии с меньшим количеством проверок и, следовательно, меньшими задержками.
У меня нет простого доступа к машине OSX, но ваш подход в любом случае излишне сложен. Просто сделайте что-нибудь подобное (в зависимости от вашего фактического ввода) вместо:
basepath=$(grep ^output "$basefile" | awk '{print $NF}' | sed 's/[/]$//'
или
basepath=$(awk '/^output/{print $2}' "$basefile" | sed 's/[/]$//')
или даже
basepath=$(grep -oP '^output\s+\K.+(?=/)' "$basefile")
или
basepath=$(perl -lne 'print $1 if /^output\s+(.+)\//' "$basefile";
Это должно работать как на Linux, насколько я могу судить - по крайней мере, утверждение sed
- но если Вы хотите знать, что происходит в пространстве шаблонов sed
, Вы должны l
ook at it:
sed 'l;s|/$||;l'
I think you could do the whole thing in sed
like:
basepath=$(sed '/^output /!d;s|||;s|/$||' <"$basefile")
Я бы предложил
sed -n '/^output / {s///; s,\(.*\)/,\1,p}'
, которая должна работать на GNU и OSX sed.
Пустой регекс в s///
повторно использует предыдущий регекс (/^выход /
)