Natural sort with auto increment
Closed this issue · 2 comments
gdommergue commented
Hi,
I would like to know if it's possible to rename files using natural sort (-N) + auto increment ({nr})?
I've tried the following but it doesn't work as -N seems to work only with -l.
My folder:
$ ls
10.jpg 13.jpg 16.jpg 19.jpg 21.jpg 24.jpg 27.jpg 2.jpg 32.jpg 35.jpg 38.jpg 40.jpg 43.jpg 46.jpg 49.jpg 5.jpg 8.jpg
11.jpg 14.jpg 17.jpg 1.jpg 22.jpg 25.jpg 28.jpg 30.jpg 33.jpg 36.jpg 39.jpg 41.jpg 44.jpg 47.jpg 4.jpg 6.jpg 9.jpg
12.jpg 15.jpg 18.jpg 20.jpg 23.jpg 26.jpg 29.jpg 31.jpg 34.jpg 37.jpg 3.jpg 42.jpg 45.jpg 48.jpg 50.jpg 7.jpg
$ ls -v
1.jpg 4.jpg 7.jpg 10.jpg 13.jpg 16.jpg 19.jpg 22.jpg 25.jpg 28.jpg 31.jpg 34.jpg 37.jpg 40.jpg 43.jpg 46.jpg 49.jpg
2.jpg 5.jpg 8.jpg 11.jpg 14.jpg 17.jpg 20.jpg 23.jpg 26.jpg 29.jpg 32.jpg 35.jpg 38.jpg 41.jpg 44.jpg 47.jpg 50.jpg
3.jpg 6.jpg 9.jpg 12.jpg 15.jpg 18.jpg 21.jpg 24.jpg 27.jpg 30.jpg 33.jpg 36.jpg 39.jpg 42.jpg 45.jpg 48.jpg
$ brename -p ".*\.jpg" -r "{nr}.jpg" -N --nr-width 3 --start-num 1 -d
Searching for paths to rename...
[OK] 1.jpg -> 001.jpg
[OK] 10.jpg -> 002.jpg // Expecting 2.jpg -> 002.jpg
[OK] 11.jpg -> 003.jpg
[OK] 12.jpg -> 004.jpg
[OK] 13.jpg -> 005.jpg
[OK] 14.jpg -> 006.jpg
[OK] 15.jpg -> 007.jpg
[OK] 16.jpg -> 008.jpg
[OK] 17.jpg -> 009.jpg
[OK] 18.jpg -> 010.jpg
[OK] 19.jpg -> 011.jpg
[OK] 2.jpg -> 012.jpg
[OK] 20.jpg -> 013.jpg
...
Here's the result of the command i've used to list matching files using natural sort in my previous folder.
$ brename -p ".*\.jpg" -l -N
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
11.jpg
12.jpg
...
Thanks!
shenwei356 commented
Done. Please try it.
- brename_darwin_amd64.tar.gz
- brename_darwin_arm64.tar.gz
- brename_linux_amd64.tar.gz
- brename_windows_amd64.exe.tar.gz
$ brename -p ".*\.jpg" -r "{nr}.jpg" -N --nr-width 3 --start-num 1 -d
Searching for paths to rename...
[OK] 1.jpg -> 001.jpg
[OK] 2.jpg -> 002.jpg
[OK] 3.jpg -> 003.jpg
[OK] 4.jpg -> 004.jpg
[OK] 5.jpg -> 005.jpg
[OK] 6.jpg -> 006.jpg
[OK] 7.jpg -> 007.jpg
[OK] 8.jpg -> 008.jpg
[OK] 9.jpg -> 009.jpg
[OK] 10.jpg -> 010.jpg
[OK] 11.jpg -> 011.jpg
[OK] 12.jpg -> 012.jpg
[OK] 13.jpg -> 013.jpg
[OK] 14.jpg -> 014.jpg
[OK] 15.jpg -> 015.jpg
[OK] 16.jpg -> 016.jpg
[OK] 17.jpg -> 017.jpg
[OK] 18.jpg -> 018.jpg
[OK] 19.jpg -> 019.jpg
[OK] 20.jpg -> 020.jpg
gdommergue commented
Working as expected on my side, thanks for the quick feedback and update!