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
CRMGR(1)						      Quick Database Manager							  CRMGR(1)

NAME
crmgr - administration utility for QDBM Curia SYNOPSIS
crmgr create [-s] [-bnum num ] [-dnum num] name crmgr put [-kx|-ki] [-vx|-vi|-vf] [-keep|-cat] [-lob] [-na] name key val crmgr out [-kx|-ki] [-lob] name key crmgr get [-nl] [-kx|-ki] [-start num] [-max num] [-ox] [-lob] [-n] name key crmgr list [-nl] [-k|-v] [-ox] name crmgr optimize [-bnum num] [-na] name crmgr inform [-nl] name crmgr remove name crmgr repair name crmgr exportdb name dir crmgr importdb name dir crmgr snaffle [-kx|-ki] [-ox] [-n] name key crmgr version DESCRIPTION
This manual page documents briefly the crmgr commands. crmgr is a utility for debugging Curia and its applications. It features editing and checking of a database. It can be used for the data- base applications with shell scripts. This command is used in the above format. name specifies a database name. key specifies the key of a record. val specifies the value of a record. OPTIONS
A summary of options is included below. For a complete description, see the file:///usr/share/doc/qdbm-doc/spex.html#curiacli. -s make the file sparse. -bnum num specify the number of the elements of the bucket array. -dnum num specify the number of division of the database. -kx treat key as a binary expression of hexadecimal notation. -ki treat key as an integer expression of decimal notation. -vx treat val as a binary expression of hexadecimal notation. -vi treat val as an integer expression of decimal notation. -vf read the value from a file specified with val. -keep specify the storing mode for `CR_DKEEP'. -cat specify the storing mode for `CR_DCAT'. -na do not set alignment. -nl open the database without file locking. -start specify the beginning offset of a value to fetch. -max specify the max size of a value to fetch. -ox treat the output as a binary expression of hexadecimal notation. -lob handle large objects. -n do not output the tailing newline. -k output keys only. -v output values only. SEE ALSO
qdbm(3), crtsv(1), curia(3), cropen(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 CRMGR(1)
All times are GMT -4. The time now is 11:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy