конец строки в Linux и Mac

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, который будет принимать более новые технологии с меньшим количеством проверок и, следовательно, меньшими задержками.

1
11.06.2014, 13:52
3 ответа

У меня нет простого доступа к машине 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";
1
27.01.2020, 23:38

Это должно работать как на Linux, насколько я могу судить - по крайней мере, утверждение sed - но если Вы хотите знать, что происходит в пространстве шаблонов sed, Вы должны look at it:

sed 'l;s|/$||;l'

I think you could do the whole thing in sed like:

basepath=$(sed '/^output /!d;s|||;s|/$||' <"$basefile")
1
27.01.2020, 23:38

Я бы предложил

sed -n '/^output / {s///; s,\(.*\)/,\1,p}'

, которая должна работать на GNU и OSX sed.

Пустой регекс в s/// повторно использует предыдущий регекс (/^выход /)

.
0
27.01.2020, 23:38

Теги

Похожие вопросы