Rename many files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename many files
# 1  
Old 04-24-2010
Rename many files

Hi,

I have many files ex: file1, file2 ...file100, and I would like to rename only files with "1" in name. I don't have experience with bash and other shells. I know I can use "for i in" and "if", and I can use "sed" to change "1" but I have no idea how should "if" look.

I will be grateful for any help or suggestion.
# 2  
Old 04-24-2010
How should the output look like?
# 3  
Old 04-24-2010
something like that

ex:

file1 -> filea
or
file1 -> newfile1

file21 -> file2a
or
file21 -> newfile21

file11 -> fileaa
or
file11 -> newfile11
# 4  
Old 04-24-2010
sh, without if:
Code:
$ for i `ls | grep 1`
do
mv $i new$i
done

in bash:
Code:
[b@b ~/test]$ for i in *
> do
> if [[ $i =~ 1 ]] ; then
> mv $i new$i
> fi
> done


Last edited by pseudocoder; 04-24-2010 at 08:49 AM..
# 5  
Old 05-02-2010
Thanx all of you for helpful information.

And I have another question,

If I would like for ex. copy all files with for ex. read, write and execute permissions, I guess I can use some think like that:
Code:
$ for i `ls -l | grep -rwx...`
do
...
done

But is there any possibility to use in 'for' numbers (ex. 777, 664) ???
# 6  
Old 05-02-2010
Never use this "for" construct:
Quote:
for i `ls -l | grep -rwx...`
There is never a reason to use "for" in a construct involving "ls -l" in a commercial environment. If there were 100,000 files the expanded "for" statement would break the shell command line length.
Also the shell command as stated contains multiple syntax errors.


Quote:
But is there any possibility to use in 'for' numbers (ex. 777, 664) ???
Please rephrase your question in plain English showing examples of "before" and "after" and stating the processing required.
# 7  
Old 05-02-2010
Code:
$ for i in `ls -l | grep '\-rwx' | awk '{ print $NF }'`

There's at least one disadvantage: It will only correctly handle files with no whitespaces in it.
The command above would return 3423.dat if the file's name were "my file 3423.dat"
I don't think you can grep for 777 or the like, but you could adjust your search string to achieve that.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Script to unzip files and Rename the Output-files

Hi all, I have a many folders with zipped files in them. The zipped files are txt files from different folders. The txt files have the same names. If i try to find . -type f -name "*.zip" -exec cp -R {} /myhome/ZIP \; it fails since the ZIP files from different folders have the same names and... (2 Replies)
Discussion started by: pmkenya
2 Replies

3. UNIX for Dummies Questions & Answers

Rename all .sh files to .pl

I have various .sh and .pl files in one directory. I want to rename all the .sh files to .pl i.e testscript.sh --> testscript.pl I am trying to use mv *.sh *.pl It doesnt work though!! (3 Replies)
Discussion started by: chrisjones
3 Replies

4. Shell Programming and Scripting

How to rename files

Hi Guys, I have to rename about 180 files in different folders in linux. For example, abc_110117.txt eff_110117.txt zzz_110117.txt After renaming the files, these files should like like abc.txt eff.txt zzz.txt I created a small script to rename the files like ls... (2 Replies)
Discussion started by: naveed
2 Replies

5. Shell Programming and Scripting

rename files Ax based on strings found in files Bx

Hi, I'm not very experienced in shell scripting and that's probably why I came across the following problem: I do have several hundred pairs of text files (PF00x.spl and PF00x.shd) where the first file (PF00x.spl) needs to be renamed according a string that is included in the second file... (12 Replies)
Discussion started by: inCH
12 Replies

6. Shell Programming and Scripting

Rename files

Hi, I wanna rename bunch of files which has ":" to -. ie. rename file named file1:file1 to file1-file1. any ideas? (2 Replies)
Discussion started by: linuxaddict7
2 Replies

7. Shell Programming and Scripting

Rename many files

Hi all I have files in the following format: 01_anote1.pdf 01_bnote1.pdf 01_control1.pdf 01_ethics1.pdf 01_invoice1.pdf 01_invoice_21.pdf 20_quote_l1.pdf I need to rename them to 01_anote.pdf 01_bnote.pdf 01_control.pdf 01_ethics.pdf 01_invoice.pdf (9 Replies)
Discussion started by: lmatlebyane
9 Replies

8. Shell Programming and Scripting

Rename files

Hello, I've a list of file like this img_001 img_22 img_44 and I would rename all with this form photo_0001 photo_0002 photo_0003 photo_0004 suggestions?Thanks to all. (2 Replies)
Discussion started by: cv313x
2 Replies

9. UNIX for Dummies Questions & Answers

rename files help

Hi, I've already search for this issue but I found different scripts for rename files, but I don't know how to customize it for my needs. Here's what I want to do: I have a lot of files inside many directories, like this: /aa/01.txt /aa/02.txt /ab/01.txt /ab/02.txt I want all those files... (2 Replies)
Discussion started by: piltrafa
2 Replies

10. Shell Programming and Scripting

rename files

hey all, I have files in the format of ABCD20061101 and ABCDEF20061101 in one directory, I would like to change all ABCD20061101 to ABCDEF20061101 and the problem is if I do a simple pattern match of ABCD, then those ABCDEF20061101 would also... (2 Replies)
Discussion started by: mpang_
2 Replies
Login or Register to Ask a Question