Rename a multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename a multiple files
# 1  
Old 02-09-2016
Rename a multiple files

I have multiple files in folder which i want to rename. hence I am using the below command in my script by I get an error:

Code:
export XXX_LOG_DIR="${LOG_DIR}/${XXX_HOST}/xxx/${REPORT_DATE}"
 mv $XXX_LOG_DIR/*.audit.gz $XXX_LOG_DIR/*.audit.log.gz

But I get the below error:

mv: target `xxxxx.......' is not a directory

Can you please help?
# 2  
Old 02-09-2016
You cant rename ( mv) multiple files in one go... the syntax says multiples files to a directory or file to newfile...
You will have to write a script using a loop...
# 3  
Old 02-09-2016
Do I need to use for loop then ?
# 4  
Old 02-09-2016
Hi Karan,

Yes you probably would be better using a script or loop to do this, as an aside it is possible to move multiple files using the mv command as follows.

Code:
-bash-3.2$ ls Uploads/p*
Uploads/parser.exp    Uploads/phantom.html  Uploads/pr.nawk       Uploads/preparser.sh
Uploads/pdf2html.pl   Uploads/pr.gawk       Uploads/prair
-bash-3.2$ mv Uploads/p* uploads/
-bash-3.2$ ls Uploads/p*
Uploads/p*: No such file or directory
-bash-3.2$ ls uploads
parser.exp    pdf2html.pl   phantom.html  pr.gawk       pr.nawk       prair         preparser.sh
-bash-3.2$ ls Uploads/h*
Uploads/hexgen.scr
-bash-3.2$

It is essential that the destination is a directory.

Regards

Gull04
# 5  
Old 02-09-2016
Hi.

Some possibilities, some of which depend on OS:
Code:
Rename multiple files, groups of files
        1) rename -- Debian version and RedHat version differ, q.v.
           (try package util-linux:
           http://en.wikipedia.org/wiki/Util-linux)

        2) ren -- RedHat relatives

        3) renameutils -- package contains qmv, imv, icp, qcp, and deurlname

        4) mved -- (circa 2006; good as of 2015.05), perl
           http://raf.org/mved/
           (An earlier shell version may be available.)

        5) rename -- perl builtin library routine (DIY)

See man and web pages for details ... cheers, drl
# 6  
Old 02-09-2016
If you download/compile/install mmv, then you can do
Code:
mmv "$XXX_LOG_DIR/*.audit.gz" "$XXX_LOG_DIR/#1.audit.log.gz"

The #1 refers to the first wildcard, here *.
--
Here is a shell loop tailored for your specific task
Code:
for file in $XXX_LOG_DIR/*.audit.gz
do
  [ -f "$file" ] || continue
  chop_end=${file%.audit.gz}
  dest=${chop_end}.audit.log.gz
  mv "$file" "$dest"
done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Rename multiple files in one go

OS : Oracle Linux 6.8 shell : bash As shown below, I have multiple files like below (query1-extract_aa, query1-extract_ab, query1-extract_ac, ....) $ ls -l total 235680 -rw-rw-r-- 1 reportusr reportusr 30M May 3 11:25 query1-extract_aa -rw-rw-r-- 1 reportusr reportusr 30M May 3 11:25... (5 Replies)
Discussion started by: kraljic
5 Replies

2. Shell Programming and Scripting

SBATCH trinity for multiple files and rename/move the output files

Hey guys, I have wrote the following script to apply a module named "trinity" on my files. (it takes two input files and spit a trinity.fasta as output) #!/bin/bash -l #SBATCH -p node #SBATCH -A <projectID> #SBATCH -n 16 #SBATCH -t 7-00:00:00 #SBATCH --mem=128GB #SBATCH --mail-type=ALL... (1 Reply)
Discussion started by: @man
1 Replies

3. Shell Programming and Scripting

How to rename multiple files at one go?

Hi, I have hundreds of files with XXX in their file name and I want to rename all of them with YYY in place of XXX. for ex: $ ls -1 123XXX789 345XXX678 Output $ ls -1 123YYY789 345YYY678 I know we can loop in each file and sed to replace and rename each file but ren *XXX* *YYY*... (4 Replies)
Discussion started by: reddyr
4 Replies

4. Shell Programming and Scripting

Rename multiple files

Hi, In my directory I have many files, for e.g. file_123 file_124 file_125 file_126 file_127 Instead of renaming these files one by one, I would like to rename them at a same time using same command... they should appear like 123 124 125 126 127 What command(awk or ls or... (3 Replies)
Discussion started by: juzz4fun
3 Replies

5. Shell Programming and Scripting

Rename multiple files

hello: I have multiple files with names like: somestring_y2010m01d01 somestring_y2010m01d02 .......... somestring_y2010m12d31 How... (4 Replies)
Discussion started by: sylcam
4 Replies

6. UNIX for Dummies Questions & Answers

help with multiple files rename...

Hi everyone, I'm very green in Linux. Please help me to solve my problem. I have thousands of files and I want to change their names. They have naming convection: prefix_date_date+1_suffix.nc prefix: ext-GLORY date_date+1: 20020101_20020102 and two types of suffix: gridV_R20020130 and... (3 Replies)
Discussion started by: makikicindy
3 Replies

7. UNIX for Dummies Questions & Answers

How to rename multiple files

Hi all, I have some files like: pickup.0000043200.t001.t001.data pickup.0000043200.t001.t002.data pickup.0000043200.t002.t001.data pickup.0000043200.t002.t002.data pickup.0000043200.t003.t001.data pickup.0000043200.t003.t002.data I need to rename these files to ... (4 Replies)
Discussion started by: a_dor8
4 Replies

8. Shell Programming and Scripting

now to rename multiple files

I have several hundred files in one directory which I need to move to another directory with the new extension, for example: /bb/data/rptmgr* are in the source directory need to be moved to /bb/data55/rptmgr*.new Is there an efficient way to do it? Thanks -A (4 Replies)
Discussion started by: aoussenko
4 Replies

9. Shell Programming and Scripting

rename multiple files

Hi, can anyone have a ksh script to rename multiple files (ie to remove .Z extension of the files) can someone correct this? for i in *.Z do var1 = substr($i, 1,at(".Z",$i)-1) mv $i $var1 done Thanks.. Antony (13 Replies)
Discussion started by: antointoronto
13 Replies

10. UNIX for Dummies Questions & Answers

Rename multiple files

Hello, I want to rename multiple files at a time and I don't know how to do it. I have various ".mp3" files, like "band name - music name.mp3" and I want to remove the "band name" from all files. Anybody knows how to do it using shell script or sed or even perl? Thanks (7 Replies)
Discussion started by: luiz_fer10
7 Replies
Login or Register to Ask a Question