Sponsored Content
Top Forums Shell Programming and Scripting Sequential numbering from 1 to ten Post 302890021 by Chubler_XL on Monday 24th of February 2014 09:57:50 PM
Old 02-24-2014
How about this:

Code:
#!/bin/bash

max_num() {
   max=0
   for file in [0-9][0-9][0-9]_*
   do
      [ ! -f "$file" ] && return
      num=${file%%_*}
      [ $num -gt $max ] && max=$num
   done
}

cd /path/to/folder
while true
do
    max_num
    for file in *
    do
       [[ ! -f $file || "$file" = [0-9][0-9][0-9]_* ]] && continue
       ((max++))
       printf -v new_name "%03d_%s" $max "$file"
       mv "$file" "$new_name"
    done
    sleep 1
done

---------- Post updated at 12:57 PM ---------- Previous update was at 12:15 PM ----------

Sorry just re-read your requirements and I think this is probably closer to what you asked for:

Code:
#!/bin/bash

mv_down() {
   for ((i=9; i ; i--)) {
       [ -f "${i}_$1" ] && mv -f "${i}_$1" "$((i+1))_$1"
   }
   mv "$1" "1_$1"
}

cd folder
while true
do
    for file in *
    do
       [[ ! -f "$file" || "$file" = [1-9]_* || "$file" = 10_* ]] && continue
       mv_down "$file"
    done
    sleep 1
done


Last edited by Chubler_XL; 02-24-2014 at 11:02 PM.. Reason: Fix interger expression error on empty folder
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

numbering of process

:confused: How does UNIX handle the numbering of processes? (2 Replies)
Discussion started by: tweety111
2 Replies

2. UNIX for Dummies Questions & Answers

Numbering!

Just a shot question... how to make 1,2,3,...999 into the form of 001,002,003....999 (3 digits) Thanks.... (9 Replies)
Discussion started by: biglemon
9 Replies

3. Shell Programming and Scripting

Numbering

I'm trying to do a script that will look for a log file if it is already there change the name to another name. I.E if log.0 is there rename to log.1 rename log.1 to log.2 rename log.2 to log.3 and so on. Only thing is I got no idea where or what is the best command to use for this? ... (3 Replies)
Discussion started by: merlin
3 Replies

4. Programming

Reading special characters while converting sequential file to line sequential

We have to convert a sequential file to a 80 char line sequential file (HP UX platform).The sequential file contains special characters. which after conversion of the file to line sequential are getting coverted into "new line" or "tab" and file is getting distorted. Is there any way to read these... (2 Replies)
Discussion started by: Rajeshsu
2 Replies

5. UNIX for Advanced & Expert Users

numbering blanks

hello i'm trying to figure out how to number a blank line. For instance this : sed '/./=' file | sed '/./N; s/\n/ /' gives me 1 aaaa 2 bbbbbb 4 cccccc 5 ffkkkfff 6 ffsdfdfs I would like something like this: 1 aaaaa 2 3 bbbbbb 4 5 cccccc And so... (6 Replies)
Discussion started by: wisher115
6 Replies

6. Shell Programming and Scripting

help with numbering a file

Hi, All I need to do is number a file. The file looks like this > JJJJJJJJJJJJJJJJJJJJJ > JKJKJKKKKKKJJJ > MMMMYKKKJKKK what I want to do is number it so that theres a numerical value beside the >. >1 JJJJJJJJJJJJJJJJJJJJJ >2 JKJKJKKKKKKJJJ (2 Replies)
Discussion started by: kylle345
2 Replies

7. Shell Programming and Scripting

sequential to line sequential

Hi I have a file sequential way i.e. written in contineous mode and the Record Seperator is AM from which the record is seperated .Now to process I have to make line sequential,and more over record length is not same it varies as per the input address, AM1234563 John Murray 24 Old streeet old... (5 Replies)
Discussion started by: vakharia Mahesh
5 Replies

8. Programming

Tool to simulate non-sequential disk I/O (simulate db file sequential read) in C POSIX

Writing a Tool to simulate non-sequential disk I/O (simulate db file sequential read) in C POSIX I have over the years come across the same issue a couple of times, and it normally is that the read speed on SAN is absolutely atrocious when doing non-sequential I/O to the disks. Problem being of... (7 Replies)
Discussion started by: vrghost
7 Replies

9. Shell Programming and Scripting

Incremental numbering?

Would it be possible for a script to duplicate a file and incrementally number it? File in: XXX_007_0580_xxxx_v0016.aep File out: XXX_007_0580_xxxx_v0017.aep If someone knows of a way I'd love to see it. Thanks! (7 Replies)
Discussion started by: scribling
7 Replies

10. Shell Programming and Scripting

awk use sequential line numbering in output

The awk below produces an output with the original header and only the matching lines (which is good), but the output where the original line numbering in the match found on is used. I can not figure out how to sequentially number the output instead of using the original. I did try to add... (2 Replies)
Discussion started by: cmccabe
2 Replies
ODMGR(1)						      Quick Database Manager							  ODMGR(1)

NAME
odmgr - administration utility for QDBM Odeum SYNOPSIS
odmgr create name odmgr put [-uri str] [-title str] [-author str] [-date str] [-wmax num] [-keep] name [file] odmgr out [-id] name expr odmgr get [-id] [-t|-h] name expr odmgr search [-max num] [-or] [-idf] [-t|-h|-n] name words... odmgr list [-t|-h] name odmgr optimize name odmgr inform name odmgr merge name elems... odmgr remove name odmgr break [-h|-k|-s] [file] odmgr version DESCRIPTION
This manual page documents briefly the odmgr commands. odmgr is a utility for debugging Odeum and its applications. It features editing and checking of a database. It can be used for full-text search systems with shell scripts. This command is used in the above format. name specifies a database name. file specifies a file name, expr specifies the URI or the ID number of a document, words specifies searching words. elems specifies element databases. OPTIONS
A summary of options is included below. For a complete description, see the file:///usr/share/doc/qdbm-doc/spex.html#odeumcli . -uri specify the URI of the document explicitly. -title str specify the title of the document. -author str specify the author of the document. -date str specify the modified date of the document. -wmax num specify the max number of words to be stored. -keep the storing mode is not to be overwrite. -id specify a document not by a URI but by an ID number. -t output the details of a document in tab separated format. -h output the details of a document in human-readable format. -k output keywords of a document. -s output summary of a document. -max num specify the max number of documents of the output. -or perform OR search, nut AND search. -idf tune scores with IDF. -n show ID numbers and scores only. SEE ALSO
qdbm(3), odidx(1), odeum(3). odopen(3). AUTHOR
QDBM was written by Mikio Hirabayashi <mikio@fallabs.com>. This manual page was written by Fumitoshi UKAI <ukai@debian.or.jp>, for the Debian project (but may be used by others). Man Page 2005-05-23 ODMGR(1)
All times are GMT -4. The time now is 01:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy