Изменить только расширение файла [дубликат]

Следующие команды дадут мне список имен устройств ttyUSB, связанных с 19d2:0016 (который является идентификатором «модемного режима» ZTE MF831 LTE stick, ваш может отличаться.

    for i in $(find -L /sys/bus/usb/devices/ -maxdepth 2 -name "ttyUSB*"); do
        egrep -i "v19d2p0016(.*)in02" $i/../modalias >/dev/null && echo "/dev/${i##*/}"
    done

Это будет циклическое прохождение через список файлов с именем ttyUSB*, включая символические ссылки, в /sys/bus/usb/devices. В результатах мы будем искать файл с именем modalias и искать строку, содержащую идентификатор поставщика «v» «19d2» и идентификатор продукта «p» 0016. Если выходные данные совпадают, мы будем повторять строку с префиксом «/dev/» перед USB? имя. Афаик первый или обычно последний (наибольшее число)— порт модема для устройств ZTE. Вы можете повторить результаты в файле в /tmp/ и head -n1 или tail -n1 строки соответственно. Если у вас есть концентраторы, вам, вероятно, потребуется увеличить maxdepth.

Это не самый элегантный способ, но он будет работать практически на любом варианте Linux.

9
24.01.2017, 16:51
3 ответа

Помимо основных команд оболочки, на в большинстве дистрибутивов Lunux есть хороший инструмент переименовать , который может переименовывать несколько файлов одной командой:

rename 's/PDF/pdf/' Task1/*

Вот хорошая статья об этом: Rename - инструмент командной строки для переименования Несколько файлов в Linux .

4
27.01.2020, 20:05

Используйте подстановку имен файлов:

for file in Task1/*; do mv ...; done

Для точности сопоставьте только файлы, оканчивающиеся на .PDF :

for file in Task1/*.PDF; do mv ...; done

Точнее, убедитесь, что мы имеем дело с файлами, а не с каталогами:

for file in Task1/*.PDF; do [ -f "$file" ] && mv ...; done

В качестве примечания: ваш шаблон расширения параметров в порядке.

16
27.01.2020, 20:05

Если переименовать в вашем дистрибутиве - это команда C из util-linux (например, Arch Linux):

переименовать PDF pdf Task1 / * PDF

Это будет работать, если ваши файлы PDF не содержат строку «PDF» где-нибудь, кроме конца, например example_PDF_file.PDF .

1
27.01.2020, 20:05

Теги

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