Ваша команда sed
принимает входные данные из канала. Он конкурирует с xargs
, поэтому каждая из двух команд получит часть данных, записанных с помощью find
(каждый байт достается только одному считывающему устройству), и кто что получит, непредсказуемо.
Вам нужно будет передать каждое имя файла в sed
, что означает, что вам понадобится промежуточная оболочка для настройки канала.
find . -name "*[a-z][A-Z]*" -print0 | xargs -0 -I {} sh -c 'mv "$0" "$(echo "$0" | sed -E '\''s/([a-z])([A-Z])/\1 \2/g'\'')"' {}
Вам не нужны xargs
, в большинстве случаев это бесполезно. find
может вызывать программу напрямую.
find . -name "*[a-z][A-Z]*" -exec sh -c 'mv "$0" "$(echo "$0" | sed -E '\''s/([a-z])([A-Z])/\1 \2/g'\'')"' {} \;
В качестве альтернативы установите любую из реализаций Perl переименования
, например File :: Rename
или вариант из Unicode :: Tussle
.
cpan File::Rename
find -depth . -exec rename 's!([a-z])([A-Z])(?!.*/)!$1 $2!g' {} +
Бит (?!. * /)
предотвращает запуск замены в именах каталогов, если они содержат верблюжий регистр. Передача -depth
в find
гарантирует, что если каталог будет переименован, это произойдет после того, как find
пройдёт по нему.
Скачайте и установите драйвер Huawei из здесь:
wget http://download.myusbmodem.com/home/Huawei%20miscellaneous/HUAWEI%20Data%20Cards%20Linux%20Driver.zip
распакуйте файл HUAWEI Data Cards Linux Driver.zip
, вы получите Linux Driver 4.19.19.00.tar.gz
файл, распакуйте его, затем cd
в driver
каталог и установите драйвер:
cd driver
chmod +x install
./install