LINUX.ORG.RU

Переименовать файлы нумерацией 0001, 0002, 0003 ... 0888 и т.д

 ,


0

2

Помогите с командой, никак не могу справиться с форматом, получается сухие три нуля в начале - 0001... 000888.

Заранее благодарен.

UPDATE.

Выделяю ПКМ файлы, выбираю скрипт и он 159 файлов переименовывает на 0001 до 0159.

Спасибо за помощь

x=10001;
for file in "$@"; do
	mv -v "$file" ${x:1}.${file##*.}; 
	(( x++ )); 
done
★★

Последнее исправление: abbat81 (всего исправлений: 2)

Непонятно что ты хочешь получить.

Напиши, что есть сейчас и что хочешь получить.

anonymous
()
$ printf "%04d\n"  33
0033
$ printf "%04d\n" 333  
0333

Дальше сам догадаешься?

squareroot ★★★★
()
Последнее исправление: squareroot (всего исправлений: 1)

Помогите с командой

Стандартная моя команда в хистори:

prex="page-"; x=10001; for i in `ls -v`; do mv -v "$i" "$prex"${x:1}".${i//*.}"; (( x++ )); done
Deleted
()

Заранее благодарен.

Всегда пожалуйста.

// Может всё-таки напишешь, что именно хочешь и от чего?

IPR ★★★★★
()
prename 'our($i,$n); $i++; $n=sprintf("%04d", $i); s/^.*$/$n/' *
futurama ★★★★★
()

Он же понятно сказал ему надо отрезать три нуля. Что-нибудь вроде

oldname='000111'
newname=$(echo $oldname | sed 's/^000//')
mv $oldname $newname
anonymous
()
Ответ на: комментарий от anonymous

понятно сказал ему надо отрезать три нуля

Нет на оба два утверждения ;-)
Ему нужно получить последовательность четырехзначных чисел с ведущими нулями: 0001, 0002, .., 0009, 0010, 0011, .., 0099, 0100, .., 0888, .., 0999, 1000, ...

bormant ★★★★★
()
Ответ на: комментарий от bormant

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

#!/bin/bash
a=0
b=0
c=0
d=0

while [ $a -le 9 ]; do
    
    while [ $b -le 9 ]; do
    
        while [ $c -le 9 ]; do

            while [ $d -le 9 ]; do

                echo $a$b$c$d
                ((d++))
                
            done
        
            ((c++))
            d=0
        done
    
        ((b++))
        c=0
    done
    
    b=0
    ((a++))
done

nerve ★★
()
Ответ на: комментарий от gremlin_the_red

А разве непонятно, что он хочет зачёт от препода?

В начале апреля? Сомневаюсь.

morse ★★★★★
()

тред не читал. но похоже тебе надо seq -w для генератора цифр с лидирующими нулями.

bl ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.