Sponsored Content
Top Forums Shell Programming and Scripting changing filenames in a directory to a number within a loop Post 302151128 by visitorQ on Thursday 13th of December 2007 04:08:40 PM
Old 12-13-2007
alright check it out guys. here's the script:
Code:
#!/bin/bash

ls -a1 *.$1 | sort -n | while IFS= read fname ; do
    #echo "mv $fname ${i}.${1}"
    mv -f "$fname" "${i}.${1}"
    ((i++))
done

and here's the outcome:
Code:
kumi@throne:atlas/images/photos % ls
gallery*           Luis Work 009.jpg  Luis Work 017.jpg  Luis Work 029.jpg  Luis Work 043.jpg  Luis Work 046.jpg  Luis Work 069.jpg
Luis Work 001.jpg  Luis Work 010.jpg  Luis Work 018.jpg  Luis Work 030.jpg  Luis Work 044.jpg  Luis Work 055.jpg  Luis Work 070.jpg
Luis Work 008.jpg  Luis Work 016.jpg  Luis Work 028.jpg  Luis Work 042.jpg  Luis Work 045.jpg  Luis Work 068.jpg  untitled folder/
kumi@throne:atlas/images/photos % ./gallery 
ls: *.: No such file or directory
kumi@throne:atlas/images/photos % ./gallery jpg
kumi@throne:atlas/images/photos % ls
10.jpg  12.jpg  14.jpg  16.jpg  18.jpg  2.jpg  4.jpg  6.jpg  8.jpg  gallery*
11.jpg  13.jpg  15.jpg  17.jpg  1.jpg   3.jpg  5.jpg  7.jpg  9.jpg  untitled folder/
kumi@throne:atlas/images/photos % ./gallery jpg
kumi@throne:atlas/images/photos % ls
10.jpg  11.jpg  12.jpg  13.jpg  14.jpg  15.jpg  16.jpg  17.jpg  1.jpg  2.jpg  3.jpg  4.jpg  5.jpg  6.jpg  7.jpg  8.jpg  9.jpg  gallery*  untitled folder/

i think we're close! i lost one image and it was on the first run. i didn't lose anything the second time, but the files were listed in a different fashion, which i thought was weird. anyway what do you guys see?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Appending text to a number of similar filenames

Hi, I was wondering if there was a way to append something to filenames based on a wildcard. For example, if I have the following files in a directory: blah1 blah2 blah3 blah4 blah5 I want to rename these all to: blah1.txt blah2.txt blah3.txt blah4.txt blah5.txt Is there a... (4 Replies)
Discussion started by: Djaunl
4 Replies

2. UNIX for Dummies Questions & Answers

extracting and using date from filenames in a loop

HIya, Having a dumb day whilst writing an archive process in Shell want to extract from the filename the date and archive into tar files based on this, I don't want to use mtime as it may not be the actual file date. The files are -rw-rw---- 1 user admin 100 Aug 29 11:10... (2 Replies)
Discussion started by: badg3r
2 Replies

3. Shell Programming and Scripting

Help with how to account for changing filenames

The files below are essentially “lookup files” used in a series of scripts that run through the look up files and grab the correct Group Name and File Type and then unless I have the file name specified will replace the variable with the corresponding group name when processing the files before... (1 Reply)
Discussion started by: defiant82
1 Replies

4. Shell Programming and Scripting

loop through numbered filenames

Hi I'm very new to this script thing, so please be gentle. I am trying to get a command - the mach2qtl command in the code below - to loop through a set of files. Each command should take the same two .dat and .ped files, but the .mlinfo and .mlprob files with filenames including 'chrom1' ... (7 Replies)
Discussion started by: polly_falconer
7 Replies

5. Shell Programming and Scripting

Whitespace in filenames in for loop in bash script

I'm trying to search all .odt files in a directory for a string in the text of the file. I've found a bash script that works, except that it can't handle whitespace in the filenames. #!/bin/bash if ; then echo "Usage: searchodt searchterm" exit 1 fi for file in $(ls *.odt); do ... (4 Replies)
Discussion started by: triplemaya
4 Replies

6. Shell Programming and Scripting

changing number in bash (number is in form of string)

I have a txt file as database. when i run my program what it does is it ask me for 3 name and stored in the file as name1:name2:name3:1 when u enter 3 name it add those in file as above format and add 1 at the end. I what i want is if i enter same names again it changes that 1 to 2 and so... (3 Replies)
Discussion started by: Learnerabc
3 Replies

7. UNIX and Linux Applications

Firefox changing hidden filenames

Is firefox changing the filename of this hidden file for anyone else? I tried in firefox 3, 4, and 6. They all got changed when I tried when I downloaded the file. Firefox removed the leading dot that makes the file be hidden. MEGAUPLOAD - The leading online storage and file delivery service (2 Replies)
Discussion started by: cokedude
2 Replies

8. Shell Programming and Scripting

Generate filenames in a loop

Hi all, I want to generate output files in a loop, run the same command on the same input file 1000 times and output in files with a new name each time, maybe a number appended to it. The output will be different each time as I`m sampling randomly from the input file. I want to do the... (3 Replies)
Discussion started by: newbie83
3 Replies

9. UNIX for Dummies Questions & Answers

[Solved] Writing a loop to changing the names of files in a directory

Hi, I would like to write a loop to change the names of files in a directory. The files are called data1.txt through data1000.txt. I'd like to change their names to a1.txt through a1000.txt. How do I go about doing that? Thanks! (2 Replies)
Discussion started by: evelibertine
2 Replies

10. Shell Programming and Scripting

For/While Loop to Increment Filenames in a Script

Daily stupid question. I want to increment the file name everytime the script is run. So for example if the filename is manager.log and I run the script, I want the next sequence to be manager.log1. So to be clear I only want it to increment when the script is executed. So ./script... (10 Replies)
Discussion started by: metallica1973
10 Replies
LOSETUP(8)						       System Administration							LOSETUP(8)

NAME
losetup - set up and control loop devices SYNOPSIS
Get info: losetup loopdev losetup -l [-a] losetup -j file [-o offset] Delete loop: losetup -d loopdev... Delete all used loop devices: losetup -D Print name of first unused loop device: losetup -f Setup loop device: losetup [-o offset] [--sizelimit size] [-p pfd] [-rP] {-f[--show]|loopdev} file Resize loop device: losetup -c loopdev DESCRIPTION
losetup is used to associate loop devices with regular files or block devices, to detach loop devices and to query the status of a loop device. If only the loopdev argument is given, the status of the corresponding loop device is shown. Note that the old output format (e.g. losetup -a) with comma delimited strings is deprecated in favour of the --list output format (e.g. losetup -a -l). OPTIONS
+The size and offset arguments may be followed by the multiplicative +suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB +(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes +KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB. -a, --all show status of all loop devices. Note that not all information are accessible for non-root users. See also --list. The old output format (as printed without --list) is deprecated. -c, --set-capacity loopdev force loop driver to reread size of the file associated with the specified loop device -d, --detach loopdev... detach the file or device associated with the specified loop device(s) -D, --detach-all detach all associated loop devices -f, --find find the first unused loop device. If a file argument is present, use this device. Otherwise, print its name -h, --help print help -j, --associated file show status of all loop devices associated with given file -l, --list if a loop device or the -a option is specified, print default columns for either the specified loop device or all loop devices, default is to print info about all devices. -o, --offset offset the data start is moved offset bytes into the specified file or device -O, --output columns specify which columns are to be printed for the --list output --sizelimit size the data end is set to no more than size bytes after the data start -P, --partscan force kernel to scan partition table on newly created loop device -r, --read-only setup read-only loop device --show print device name if the -f option and a file argument are present. -v, --verbose verbose mode ENCRYPTION
Cryptoloop is no longer supported in favor of dm-crypt. For more details see cryptsetup(8). RETURN VALUE
losetup returns 0 on success, nonzero on failure. When losetup displays the status of a loop device, it returns 1 if the device is not con- figured and 2 if an error occurred which prevented from determining the status of the device. FILES
/dev/loop[0..N] loop block devices /dev/loop-cotrol loop control device EXAMPLE
The following commands can be used as an example of using the loop device. # dd if=/dev/zero of=~/file.img bs=1MiB count=10 # losetup --find --show ~/file.img /dev/loop0 # mkfs -t ext2 /dev/loop0 # mount /dev/loop0 /mnt ... # umount /dev/loop0 # losetup --detach /dev/loop0 AUTHORS
Karel Zak <kzak@redhat.com>, based on original version from Theodore Ts'o <tytso@athena.mit.edu> AVAILABILITY
The losetup command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/. util-linux July 2003 LOSETUP(8)
All times are GMT -4. The time now is 06:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy