rename a lot of files again


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting rename a lot of files again
# 8  
Old 03-31-2008
Code:
mv ./-filewithdash filewithoutdash

Generally, tools do "play nice" if you know which characters are special, and quote or escape them properly.

man sh is a good start for the ${interpolate#weird} notation.

CD rip gone wild ...? (^:
# 9  
Old 03-31-2008
Oh, and as always, ls | while read file ... is unsuitable if there are subdirectories. ls, for one, does not "play nice". for file in * is what I'd recommend. Other than that, neat script.
# 10  
Old 03-31-2008
Code:
ls *.txt | awk '{
  f = $0
  gsub("(^[0-9][0-9][0-9]|\[.*\])", "", $0)
  system("mv \""f"\" \""$0"\"")
}'

# 11  
Old 03-31-2008
Quote:
Originally Posted by ajp7701
here I go again...kinda hard to explain so I apologize.
I need to rename a bunch of files in a directory. I need to remove the first three characters of the filename, and then toward the end of the filename there is constant text inside of brackets. here is a demo (not for real) 'ls -1' of the dir:


001 Random name here - random title here - [constanttxt] f g- f.txt
002 another random name here - more random txt here [constanttxt] dg .txt
003 this is 3rd random name - 3rd random-title[constanttxt] d- df .txt
.
.
.
100 and and and the hundred names - hundred titles [constanttxt] s a .txt


Ok well its something like that, pretty ugly filenames! Anyway for now I just need the begining three numbers removed from each filename, and the [constanttxt] removed. They are all .txt files. Notice near the end of each filename the spacing is kinda random also, sometimes theres even random hyphens in the titles. Hope it makes sense. this is Fedora8, bash shell, and I have played around with awk and sed, but awk and sed dont seem to play nice with the bracket [] characters? Not only that but the mv and/or cp commands dont seem to play nice with spaces in the filenames thus I've really lost hope of automating this! Any pointers would help! Thank you so much!!!
hmm those filename are interesting because you appear to have spaces in them. You may need to set your IFS to something other than a space to work with them.

Here's an example of a simple for looup that will do what you need to do sans the spaces.

cd /<mydirectory>
for FILE in `ls`
do
NEWFILE=`echo $FILE | cut -c 4-`
if [ ! -f $NEWFILE ]
then
mv $FILE $NEWFILE
echo "moved $FILE $NEWFILE"
else
echo "$NEWFILE already exists"
fi
done
# 12  
Old 03-31-2008
thx much!

to era, perdarabo, qkrenge:
thank you so much!! I will try these solutions! I cant say how much I appreciate this msg board! Such a blessing! This has helped me so much again that I am DEFINITELY going to donate to this board again. And continue to do so! Wish I could help out to the cause of this board as much as it has helped me!
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

Convert a lot of files in subdirectories automatically

Hi, I have a huge structure of directories and subdirectories contsining some data. The lowest folders contain a file "image.png" which need to be converted to "folder.jpg". But how can I do that for all these files automatically? That's what I alredy have find /path -type f -name... (1 Reply)
Discussion started by: KarlKarpfen
1 Replies

3. Shell Programming and Scripting

Need a script for automation the convert a lot number audio files to another format

I have a lot number audio files in the MP3 proprietary format, I want to convert them to 'opus' the free and higher quality format, with keep metadata also. My selection command-line programs are SoX (Sound eXchange) for convert MP3 files to 'AIFF' format in order to keep quality and metadata*... (1 Reply)
Discussion started by: temp-usr
1 Replies

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

5. UNIX for Dummies Questions & Answers

Lot of warn files filling /

hi guys I have suse 11 sp1 and I have a lot of warn file filling / these are under /var/log there's this big one -rw-r----- 1 root root 3.9G Feb 1 10:28 warn warn: ASCII text and the others that are about 2.5 to 3MB - they are about 130 warn-*.bz2 -rw-r----- 1 root root 3.9G Feb... (2 Replies)
Discussion started by: karlochacon
2 Replies

6. Shell Programming and Scripting

Need to modify a lot of html files

Hello, I have about 3400 files in a tree structure (about 80% are html files). 1. I need to modify every html file to remove <p> style and old things like font attribute and add another style. 2. I need to change the root of all links that are in the html. e.g. change /old/path/ to /new/path... (1 Reply)
Discussion started by: Yaazkal
1 Replies

7. Shell Programming and Scripting

Rename a lot of files using shells script

Hi This is the list file that i have : The files is more than this. I will rename one by one file become like this : So just change the time stamp 200906 become 200905. Is it possible using script ? Thanks (3 Replies)
Discussion started by: justbow
3 Replies

8. Shell Programming and Scripting

chmod a lot of files

So i have about 600gb of data.. in which there are alot of directories and alot of files.. Im trying to put this on a ftp server.. So i want to set the permissions on the directories to be 755 and the permission on the files to be 644. So i used: find . -type d -exec chmod 755 {}\; and find .... (6 Replies)
Discussion started by: supermiguel
6 Replies

9. UNIX for Dummies Questions & Answers

Sorting with unique piping for a lot of files

Hi power user, if I have this file: file1.txt: 1111 1111 2222 2222 3333 3333 3333 4444 4444 4444 when I run the sort file1.txt | uniq > data1.txt the result is (2 Replies)
Discussion started by: anjas
2 Replies

10. Shell Programming and Scripting

Problem comparing 2 files with lot of data

Hello everyone, here's the scenario I have two files, each one has around 1,300,000 lines and each line has a column (phone numbers). I have to get the phones that are in file1 but not in file2. I can get these phones trough Oracle but my boss does not want that so he gave me the files with the... (4 Replies)
Discussion started by: rafisha
4 Replies
Login or Register to Ask a Question