Changing file names


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Changing file names
# 1  
Changing file names

I have a series of files as follows

Code:
file-1.pdf
file-2.pdf
file-3.pdf
file-4.pdf
file-5.pdf
file-6.pdf
file-7.pdf

I want to have the file names with odd numbers
starting from an initial number, for example 2000.

The result would be the following:

Code:
file-2001.pdf
file-2003.pdf
file-2005.pdf
file-2007.pdf
file-2009.pdf
file-2011.pdf
file-2013.pdf
file-2015.pdf

# 2  
What have you tried?
# 3  
I thought I could do it in one line, however my idea
is to use a bash script.
# 4  
We are not a free scriptwriting service. We will help with problems but we cannot do absolutely everything. Please post your attempt.
# 5  
Code:
#!/bin/bash

files=`find . -name 'kay_even*.png.pdf'` 

digits=2001
for fl in $files ; do
  printf "$fl.$digits\n"
  digits=$(($digits + 2))
done

---------- Post updated at 03:10 PM ---------- Previous update was at 03:01 PM ----------

The thing I have to do is to remove the original number
from the file name.

Code:
#!/bin/bash

files=`find . -name 'kay_even*.png.pdf'` 

digits=2001
for fl in $files ; do
  fname=`echo $fl | awk 'BEGIN {FS=".png.pdf"} {print $1}'`
  printf "$fname.$digits.png.pdf\n"
  digits=$(($digits + 2))
done

---------- Post updated at 03:39 PM ---------- Previous update was at 03:10 PM ----------

I have got somewhere now

Code:
#!/bin/bash

files=`find . -name 'kay.even*.png.pdf'` 

digits=2001
for fl in $files ; do
  fname=`echo $fl | awk 'BEGIN {FS=".png.pdf"} {print $1}'`
  fnew=`echo $fname | awk 'BEGIN {FS="."} {print $1"."$2"."$3}'`
  printf "fname: $fname\n"  
  printf "fnew: $fnew\n"  
  printf "$fnew.$digits.png.pdf\n"
  digits=$(($digits + 2))
done

# 6  
You could also try something like this:

Code:
#!/bin/bash

files=$(find . -name "kay.even*.png.pdf")

num=2001
for fl in $files
do
   prefix=${fl%%[0-9]*}
   suffix=${fl##*[0-9]}
   ((num+=2))
   echo mv $fl $prefix$num$suffix
done

This User Gave Thanks to Chubler_XL For This Post:
# 7  
I'm very glad to see that you're making progress, but I don't see how any of the code you have shown us can process the files you described in the 1st message in this thread???

How will find . -name 'kay.even*.png.pdf give you a list of files in the current directory with names:
Code:
file-1.pdf
file-2.pdf
file-3.pdf
file-4.pdf
file-5.pdf
file-6.pdf
file-7.pdf

What is the real format specification for the filenames you're trying to rename?

Are the files you want to rename all in the current directory; or are they scattered thoughout the file hierarchy rooted in the current directory?

Is there any chance that an existing filename might be one of the names you will try to create with your renumbering scheme? (If there is a chance of that, the scripts you have shown us so far could all destroy one or more of your input files in the renaming process.)
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #730
Difficulty: Medium
The first version BASIC language was released on 1 May 1964.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Changing file names

sac_pzs_iv_epoz_hhe__2013.074.14.40.46.0000_2599.365.23.59.59.99999 sac_pzs_iv_epoz_hhn__2013.074.14.40.46.0000_2599.365.23.59.59.99999 sac_pzs_iv_epoz_hhz__2013.074.14.40.46.0000_2599.365.23.59.59.99999 sac_pzs_iv_haga_hhe__2006.111.00.00.00.0000_2599.365.23.59.59.99999... (3 Replies)
Discussion started by: kristinu
3 Replies

2. Debian

Changing file extension names

Hi I have a list of files :root@L28mustang:/var/log/exim4/2017/Jul2017_Blast_BC07# ls -lrt | grep mainlog -rw-r----- 1 Debian-exim adm 3636932 Jul 8 06:25 mainlog.3.gz -rw-r----- 1 Debian-exim adm 919512 Jul 9 06:27 mainlog.2.gz -rw-r----- 1 Debian-exim adm 7655054 Jul 10 06:25 mainlog.1... (1 Reply)
Discussion started by: anaigini45
1 Replies

3. UNIX for Dummies Questions & Answers

Bulk changing of file names using Terminal in OS X

I want to change the name of several files within a folders (directory) and subdirectories in OS X. If I only wanted to change file names within the directory I guess I would use: rm photo*.jpg picture*.jpg I have lots of subdirectories, is there a way of getting the file changes for all... (5 Replies)
Discussion started by: ademanuele
5 Replies

4. Shell Programming and Scripting

Changing file names

I have file names as shown and want to change the name to have only the first four numbers. /home/chrisd/Desktop/nips/nips_2013/5212-learning-feature-selection-dependencies-in-multi-task-learning.pdf /home/chrisd/Desktop/nips/nips_2013/5213-parametric-task-learning.pdf... (3 Replies)
Discussion started by: kristinu
3 Replies

5. Shell Programming and Scripting

changing multiple directory names

Hi guys, I have lots of files that look like: ABC.packed.dir DEF.packed.dir GHI.packed.dir etc... I would like them to have more of the usual naming convention ABC DEF GHI etc... so I was thinking that I could: (2 Replies)
Discussion started by: atjurhs
2 Replies

6. Shell Programming and Scripting

[SOLVED] Changing file names

I have written a csh script that changes the name of file from src to dst. I am getting the error below: TESTAmvfiles DONE TESTAmvfiles set: Variable name must begin with a letter. The csh script is: #!/bin/csh #... (0 Replies)
Discussion started by: kristinu
0 Replies

7. Shell Programming and Scripting

Changing file names

I have lot of files whose names are something like the following. I want to change the name of all the files from 'npt02' to 'n02'. npt02-z30-sr65-rgdt0p50-dc0p01-16x12drw.tpf npt02-z30-sr65-rgdt0p50-dc0p01-8x6drw.back npt02-z30-sr65-rgdt0p50-dc0p01-8x6drw-bst-mis.xy... (5 Replies)
Discussion started by: kristinu
5 Replies

8. Shell Programming and Scripting

Changing names

I have file names m04-npt06-z30-syn.ps m04-npt06-dp018-8x6smp.vmod m04-npt06-sr40-syn-dp01-16x12drw.params m04-npt06-sr40-syn-dp008-16x12drw.params m04-npt06-sr40-syn-dp008-16x12drw.vmod m04-npt06-sr40-syn-dp008-16x12drw.bck m04-npt06-sr40-syn-dp008-16x12drw.exp... (6 Replies)
Discussion started by: kristinu
6 Replies

9. Shell Programming and Scripting

Changing file names with AWK

Dear All, I have some thousands of files in a folder and i need to change those file names without opening the file (no need to change anything in the file content, need to change the file name only). The filenames are as follows: Myfile_name.1_parameter Myfile_name.2_parameter... (6 Replies)
Discussion started by: Fredrick
6 Replies

10. Shell Programming and Scripting

changing file names to lowercase

hey guys having some trouble figuring this out. my program is supposed to take a name of a directory as a command line argument and change the filenames inside that directory to lowercase. what i dont get is how you access that directory and go thru all the files and change the filenames... (1 Reply)
Discussion started by: 30177005
1 Replies

Featured Tech Videos