Renaming by manipulating strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Renaming by manipulating strings
# 8  
Old 10-21-2012
Quote:
Originally Posted by mc2z674gj
maybe your script works but my level of understandings don't allow me to tell you anything on it !
If i don't understand any script which have lot of conditions and scenarios, I prefer to test script part by part. Divide script into multiple pieces so it can be understandable.. Run script part by part....Smilie

Quote:
Originally Posted by mc2z674gj
i have a question can the script is capable to rename directories
Please read this
# 9  
Old 10-21-2012
the directories looks like this :

Code:
aabbccdde -- ffgghh iijjkkll5566778

to
Code:
5566778 aabbccdde -- ffgghh iijjkkll

sometimes there's only one string
Code:
aab55ccddeeffgghh6677

to
Code:
6677 aab55ccddeeffgghh


thanks !

Last edited by Scrutinizer; 10-21-2012 at 01:09 PM.. Reason: code tags
# 10  
Old 10-21-2012
No my script doesn't work for these directories you have mentioned since its different conditions all together....But you can use the logic in my script as a workaround ..let me know if any help required in the same..
This User Gave Thanks to msabhi For This Post:
# 11  
Old 10-21-2012
Try shell only:
Code:
for file in *.ext
do
  first=${file%% -- *}
  secondext=${file##* -- }
  second=${secondext%.*}
  ext=${file##*.}
  middle=${file#$first}
  middle=${middle%$secondext}
  mv "$file" "$second$middle$first.$ext"
done


Last edited by Scrutinizer; 10-21-2012 at 02:50 PM.. Reason: more mnemonicity...
This User Gave Thanks to Scrutinizer For This Post:
# 12  
Old 10-21-2012
that's what i want to ask you after the precision, do you want to help to understand a little bit of your script

what are the meaning of
Code:
 
$p
$1
$F[0]
$F[1]

# 13  
Old 10-21-2012
Quote:
Originally Posted by mc2z674gj
the directories looks like this :

Code:
aabbccdde -- ffgghh iijjkkll5566778

to
Code:
5566778 aabbccdde -- ffgghh iijjkkll

sometimes there's only one string
Code:
aab55ccddeeffgghh6677

to
Code:
6677 aab55ccddeeffgghh


thanks !
Your requirement seems to have changed. There is no separator in the second example ?
And the first example does not switch left and right side...

Last edited by Scrutinizer; 10-21-2012 at 01:36 PM..
This User Gave Thanks to Scrutinizer For This Post:
# 14  
Old 10-21-2012
for inversing strings delimited by "--" in filenames, this script works perfectly !

that put the last string to the beginning & vice versa

---------- Post updated at 07:12 PM ---------- Previous update was at 06:15 PM ----------


thanks for your perspicacity ! you're right i've found a solution when there are only one string
i add " -- " at the end to fits the script

so don't take that example (aab55ccddeeffgghh6677)

i only need want to know if the script works for the directories

i've checked the mv command page and adding "-t" option perhaps may help

but i don't quite sure and i don't know if it fit in the script

Code:
ls *ext | perl -F"--" -alne '{if($#F==1){
if($F[1]=~/(\d+).ext/){ $p=$1;$F[0]=~s/^/$p /g;$F[1]=~s/$p//;print "mv \"$_\" \"".join(" -- ",@F)."\"" ;}
else { ($F[0],$F[1])=($F[1],$F[0]);$F[0]=~s/(.ext|^ *)//;$F[1]=~s/ *$/.ext/;print "mv \"$_\" \"".join(" -- ",@F)."\"" ;}
}else{ ($F[0],$F[2])=($F[2],$F[0]);$F[0]=~s/(.ext|^ *)//;$F[2]=~s/ *$/.ext/;;print "mv \"$_\" \"".join(" -- ",@F)."\"" ;}
}' | sh

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to pass strings from a list of strings from another file and create multiple files?

Hello Everyone , Iam a newbie to shell programming and iam reaching out if anyone can help in this :- I have two files 1) Insert.txt 2) partition_list.txt insert.txt looks like this :- insert into emp1 partition (partition_name) (a1, b2, c4, s6, d8) select a1, b2, c4, (2 Replies)
Discussion started by: nubie2linux
2 Replies

2. Shell Programming and Scripting

Manipulating files

Not sure if the question posted in another forums can be moved by me.So posting the link here. https://www.unix.com/unix-advanced-expert-users/221425-shell-script-manipulate-files.html#post302795379 Need your help here. (1 Reply)
Discussion started by: vedanta
1 Replies

3. Programming

Code imrovements on manipulating strings

I have written the code below and would be very grateful for any comments about it (how can I improve it, simplify it,...). #ifndef String_hh #define String_hh #include <stdio.h> #include <string.h> #include <stdlib.h> #include "Vect2.hh" #include "Vector.hh" #include... (0 Replies)
Discussion started by: kristinu
0 Replies

4. Shell Programming and Scripting

Delete lines in file containing duplicate strings, keeping longer strings

The question is not as simple as the title... I have a file, it looks like this <string name="string1">RZ-LED</string> <string name="string2">2.0</string> <string name="string2">Version 2.0</string> <string name="string3">BP</string> I would like to check for duplicate entries of... (11 Replies)
Discussion started by: raidzero
11 Replies

5. UNIX for Dummies Questions & Answers

Delete strings in file1 based on the list of strings in file2

Hello guys, should be a very easy questn for you: I need to delete strings in file1 based on the list of strings in file2. like file2: word1_word2_ word3_word5_ word3_word4_ word6_word7_ file1: word1_word2_otherwords..,word3_word5_others... (7 Replies)
Discussion started by: roussine
7 Replies

6. Shell Programming and Scripting

Manipulating a file

Hi everybody, I need an urgent help with a BASH script. I have file which contains (besides the other data) the lines with the following structure identified by with keyword PCList: <PARAMETER NAME="PCList" TYPE="LIST_STRUCTURE" MODEL="{,}" ... (1 Reply)
Discussion started by: sameucho
1 Replies

7. Windows & DOS: Issues & Discussions

Renaming files with strings from xml tags

Hello! I need to rename 400+ xml files. The name of the specific file is contained in a xml tag in the file itself. The batch file should rename all these files with strings found in xml tags. Every xml file has the following tags: <footnote><para>FILENAME</para></footnote> I have to get... (3 Replies)
Discussion started by: degoor
3 Replies

8. UNIX for Dummies Questions & Answers

Help!! manipulating file

Hi all, I need help manipulating the file below. Here is what I needed to do. First, I have to replace INSUPD to DELETE. Then I need to change the content of the file around by flipping the contents in the file from the bottom to the top (start from "CMD") How should I attack this? Here... (2 Replies)
Discussion started by: sirrtuan
2 Replies

9. Solaris

Manipulating File

Help...please. I have a log that contains Warning Authentication Failed: User GHDT88998HS doesn't exit: The User GHDT88998HS could not be found Mar 22, 2008 5:22:22AM com.hometel.ttm.auth.userlogin. about maybe a thousand entries failed user acct message How can I grab just the username... (2 Replies)
Discussion started by: rivendell500
2 Replies

10. UNIX for Advanced & Expert Users

Manipulating two files

Hi Friends, I prefer to represent my problem with example. I have two files as below: file1.txt --------- abcd.....1234......XY abcd.....1235......XX abcd................. abcd...231236..1111YX abcd...241236..1112YY abcd...241237......YY abce.....1235......YY file2.txt ------- ... (4 Replies)
Discussion started by: rinku11
4 Replies
Login or Register to Ask a Question