subsitute, удаляющий нулевую нумерацию

[

] Первое, что нужно сделать: ваш файл [] hostname.urtwn0[] выглядит хорошо, и если бы вы там ошиблись, то получили бы совершенно другие сообщения об ошибках. [

] [

]Сообщение []urtwn0: неудачная загрузка прошивки файла urtwn-rt18192cfwT (ошибка 2)[] указывает на то, что прошивка установлена не в том месте: [

] [

]Как объяснено в [][]loadfirmware(9)[][], эта функция возвращает коды ошибок стиля []errno[]: и [][]errno(2)[][] объясняет:[

] [

2 ENOENT No such file or directory.
    A component of a specified pathname did not exist, or the pathname
    was an empty string.

] [

]Для загрузки драйвера должен быть файл []/etc/firmware/urtwn-rt18192cfwT[]. []1[] Скорее всего, вы не найдете этот файл в дереве.[

] [

][][]1[]Смотрите конец ответа для получения более подробной информации[][

] [


] [

][]Предположим, у вас есть []какой-то [] способ подключения вашего ящика к интернету:[][

] [

]Попробуйте запустить []fw_update -v[] для установки прошивки и убедитесь, что файлы находятся в правильном месте и не повреждены. Если повезёт, то это всё, что вам нужно сделать.[

] [

]Если это не удаётся, вы можете попробовать установить прошивку из пакетов или портов []-v[] (сначала прочтите этот FAQ!). На моём локальном зеркале нет пакетов []urtwn[]-связанных с [], так что вам, вероятно, нужно использовать дерево портов.[

] [

]Установите дерево портов, как описано в []FAQ[], затем запустите []сделайте install[] корневой из []/usr/ports/sysutils/firmware/urtwn[]. [

] [


] [

][]Если вы не можете подключить свой бокс к Интернету:[][

] [

]Прошивку можно загрузить вручную с [][]http://firmware.openbsd.org/firmware-dist/urtwn-1.1p0.tgz[][]. Возьмите ее оттуда, бросьте на USB-флешку и скопируйте в вашу коробку OpenBSD. Распакуйте архив и переместите файлы []urtwn-*[] в []/etc/firmware/[].[

] [

] Если это сработает, рекомендуется запустить []fw_update -v[], как только у вас появится сетевое соединение. Таким образом, прошивка будет отслеживаться и при необходимости обновляться сценариями обслуживания системы.[

] [


] [

]Если всё это не помогает, то, вероятно, вам следует обратиться к спискам рассылки [][]. Люди там в основном дружелюбные и полезные, если вы сделали домашнее задание[]2[].[

] [

][][]2[] Драйвер упоминается несколько раз на []misc@openbsd.org[]. Например, были проблемы с USB, проверьте, не связано ли что-нибудь с тем, что вы видите перед отправкой.[][

] [


] [

][]Added:[][

] [

]Я посмотрел на исходный код, и единственный способ получить это сообщение об ошибке - из функции []urtwn_load_firmware()[], в []sys/dev/usb/if_urtwn. c[] в строке []2194[]:[

] [

   /* Read firmware image from the filesystem. */
   if ((sc->chip & (URTWN_CHIP_UMC_A_CUT | URTWN_CHIP_92C)) ==
       URTWN_CHIP_UMC_A_CUT)
           name = "urtwn-rtl8192cfwU";
   else
           name = "urtwn-rtl8192cfwT";
   if ((error = loadfirmware(name, &fw, &len)) != 0) {
           printf("%s: failed loadfirmware of file %s (error %d)\n",
               sc->sc_dev.dv_xname, name, error);
           return (error);
   }

] [

]Функция []loadfirmware()[] (в []sys/dev/firmload.c[]) генерирует путь []/etc/firmware/urtwn-rtl8192cfwT[] и пытается загрузить этот файл в память адаптера USB. Так как он не может найти файл, вы получаете сообщение об ошибке.[

].

1
03.03.2014, 13:26
2 ответа

Если вы хотите заменить текст в файле на GNU sed , вы можете сделать:

sed -i 's/code_0*\([0-9]\)/code_\1/g' file.txt

или

perl -i -pe 's/code_0+(\d+)/code_$1/g' file.txt

Это изменит исходный файл, удалит -i , чтобы файл оставался неизменным, или даст аргумент -i для создания файла резервной копии (это создаст копию оригинала с именем file.txt.bak ):

perl -i.bak  -pe 's/code_0+(\d+)/code_$1/g' file.txt
1
27.01.2020, 23:38

Самый простой способ - использовать sed:

for file in code_*; do
  newname=$(echo $file | sed 's/_0*/_/')
  mv "$file" "$newname" #you may want to use -i to avoid accidents
done

Я обычно записываю это в одну строку.

Внешний цикл может быть любым: цикл for с глобусом, как указано выше, список файлов или даже команда поиска, переданная по конвейеру при чтении;

1
27.01.2020, 23:38

Теги

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