Как заменить новую строку и пространство на & lt; td & gt; & lt; tr & gt; используя sed за каждый календарный месяц?

Я запускаю Ubuntu 12.04 и после безуспешного поиска этих форумов, я установил драйвер для своего AE1200, и он работает правильно.

Вот как я это сделал:

Сначала установите ndiswrapper и обязательно установите ndiswrapper-common и ndiswrapper-dkms.

Затем загрузите драйвер XP для устройства: http://support.linksys.com/en-us/support/adapters/AE1200

Извлеките zip и cd в папку (возможно, xp). Если вы попытаетесь установить драйвер с ndiswrapper в этот момент, вы получите сообщение «не удалось найти раздел« Linksys_AE1200.files.NTamd64 ». Чтобы решить эту проблему, отредактируйте файл bcmwlhigh5.inf. Найдите раздел, который выглядит так:

[Linksys_AE2500.files.NT]
AE2500xp.sys,,,6

Под ним добавьте:

[Linksys_AE1200.files.NTamd64]
    AE1200xp64.sys,,,6

[Linksys_AE2500.files.NTamd64]
    AE2500xp64.sys,,,6

Сохранить и закрыть. Затем, если вы уже пытались установить драйвер с помощью ndiswrapper, вам нужно его удалить, запустите:

sudo ndiswrapper -e bcmwlhigh5

Затем выполните установку еще раз:

sudo ndiswrapper -i bcmwlhigh5.inf

Подтвердите с помощью:

sudo ndiswrapper -l

Теперь подключите USB-устройство, и голубой индикатор должен загореться.

Я мог ошибаться, но я думаю, что это означает, кто бы ни писал эти .inf-файлы забыли включить те строки, которые мне кажутся забавными.

** Обновление для 12.10- Если вы установите ndiswrapper-dkms, он не сработает, и вы начнете получать системные ошибки. Следуйте приведенному здесь решению: http://support.linksys.com/en-us/support/adapters/AE1200

В качестве примечания к исходному коду он ссылается на это все в каталоге «driver» извлеченного tar.gz

Кроме того, вы также захотите запустить:

sudo dkms remove ndiswrapper/1.57 --all

и

sudo dkms uninstall ndiswrapper/1.57

1
задан 31 January 2018 в 01:43

3 ответа

Я бы использовал цикл for, чтобы пройти месяцы, для 1-12 это:

var='<table>\n<tr><th colspan="7">'
for i in {1..12}; do
  cal -hm$i | sed '1{s|^|'"${var}"'|;s|$|</th></tr>|};2,${s|\(..\) |<td>\1</td>|g;s|^|<tr>|;s|$|</tr>|};$s|$|\n</table>|' >>file.html
done

Это работает в 16.04. Как было отмечено другими в комментариях и подтверждено страницей man, в 17.10 (и далее) cal больше не имеет опции -h. Вместо этого вы можете использовать ncal, подробнее см. [F7].

2
ответ дан 22 May 2018 в 15:12
  • 1
    Я не знаю, какую версию cal вы используете, но cal -h, а также cal -hm1 дают мне «Использование: " резюме. Однако ncal -h и ncal -hm1 работают. (Я использую 17.10) – muclux 31 January 2018 в 00:36

Я бы использовал цикл for, чтобы пройти месяцы, для 1-12 это:

var='<table>\n<tr><th colspan="7">' for i in {1..12}; do cal -hm$i | sed '1{s|^|'"${var}"'|;s|$|</th></tr>|};2,${s|\(..\) |<td>\1</td>|g;s|^|<tr>|;s|$|</tr>|};$s|$|\n</table>|' >>file.html done

Это работает в 16.04. Как было отмечено другими в комментариях и подтверждено страницей man, в 17.10 (и далее) cal больше не имеет опции -h. Вместо этого вы можете использовать ncal, подробнее см. [F7].

2
ответ дан 17 July 2018 в 21:53

Я бы использовал цикл for, чтобы пройти месяцы, для 1-12 это:

var='<table>\n<tr><th colspan="7">' for i in {1..12}; do cal -hm$i | sed '1{s|^|'"${var}"'|;s|$|</th></tr>|};2,${s|\(..\) |<td>\1</td>|g;s|^|<tr>|;s|$|</tr>|};$s|$|\n</table>|' >>file.html done

Это работает в 16.04. Как было отмечено другими в комментариях и подтверждено страницей man, в 17.10 (и далее) cal больше не имеет опции -h. Вместо этого вы можете использовать ncal, подробнее см. [F7].

2
ответ дан 23 July 2018 в 22:30

Другие вопросы по тегам:

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