Я пытаюсь написать сценарий с помощью оболочки Android, чтобы переименовать все файлы данного расширения, чтобы добавить расширение .bak, а другое - удалить его.Несколько файлов переименовать в Android
Это работает для добавления .bak расширений для всех PDF-файлов в каталоге
ext=.bak
for f in *.pdf
do
mv $f $f$ext
done
Но Баш строка нарезки с помощью ${varname:index:length}
не работает в андроиде оболочки, так что я в недоумении, как удалить расширение. У кого-нибудь есть идеи?
EDIT: уточнить, я пытаюсь найти способ удалить последние четыре символа строки в оболочке Android. Также приветствуются другие решения, которые я не рассмотрел, которые будут решать мою конкретную проблему.
ОБНОВЛЕНИЕ: На основании данного ответа следующий код удалит расширение файла из любого файла, имеющего это расширение, в текущем каталоге в немодифицированной оболочке Android (где .bak можно заменить расширением по вашему выбору)
for f in *.bak
do
mv $f ${f%.*}
done
$ {varname: index: length} не работает, поэтому я подозреваю, что оболочка Android не имеет этой возможности, но я попробую. –
Он работает !!! Не могли бы вы указать мне ссылку на строковые манипуляции, используя эту технику? –
http://tldp.org/LDP/abs/html/parameter-substitution.html#PSUB2 Я нашел этот ресурс в регулярном выражении bash, и это кажется действительным в оболочке Android. Я до сих пор не думал о том, как вообще выполнять индексацию строк, но это решает мою проблему! Поздравляем, награда. –