Probably not the most efficient solution, and maybe better done in sed, but in BASH this is how I would do it:
${FN#*|} - This removes everything up to and including the first bar.
tr -d ':|' - The above result is piped to tr to delete the colon and remaining bar.
tr '()-' '_'` - And finally that is passed to tr to replace the other characters with underscores.
That generates the new name in the style you described, and is substituted as the destination parameter for mv to rename the file.
With the possibility of different characters within the parenthesis it is definitely easier to use sed as using just BASH would require different steps. In that case this is the expression I would use:
That will discard anything up to and including the first bar
Capture the string of characters before the opening parenthesis
Disregard the opening parenthesis
Capture a single character inside the parentheses
Disregard the closing parenthesis and colon.
Capture the numeric string until the dash.
Disregard the dash.
Capture the numeric string until the bar.
Disregard the bar
Capture everything else (the file extension).
Anything that does not exactly match those conditions will remain unchanged and so mv would give a warning that the source and destination are the same, but will leave those filenames unchanged.
Otherwise the captured elements will be combined using underscores (except before the file extension) and be renamed.
I have a landing directory on my unix (solaris) server, that receives the following files:
MLH4301I AAOT-hhslog.610.20150805.txt
MLH4301I AAOT-hhslog.611.20150805.txt
MLH4301I AAOT-hhslog.612.20150805.txt
MLH4301I AAOT-hhslog.613.20150805.txt
and I need to add to this files the number 10000... (6 Replies)
What am I missing?
find: 0652-009 There is a missing conjunction
find: 0652-009 There is a missing conjunction
find: 0652-009 There is a missing conjunction
find: 0652-009 There is a missing conjunction
find: 0652-009 There is a missing conjunction
find: 0652-009 There is a missing... (3 Replies)
Hi,
I have a files in a directory as below :-
ls -1
mqdepth-S1STC02
proc-mq-S1STC01
proc-mq-S1STC02
proc-mq-S1STC03
Whereever i have S1STC i need to copy them into new file with file name S2STC.
expected output :-
ls -1
mqdepth-S2STC02
proc-mq-S2STC01
proc-mq-S2STC02... (3 Replies)
Hi,
How can I change following file name in a bash script?
From file names: myfile-module-1.0-3.0.el6.x86_64.package
To file names: myfile-module1_0-1.0-3.0.el6.x86_64.package
^ ^ ^ ^ ^ ^ ^ ^
Basically, the digit 1.0 is a version number, the digit 3.0 is... (11 Replies)
I have fasta files with multiple sequences in each. I need to change the sequence name headers from:
>accD:_59176-60699
ATGGAAAAGTGGAGGATTTATTCGTTTCAGAAGGAGTTCGAACGCA
>atpA_(reverse_strand):_showing_revcomp_of_10525-12048
ATGGTAACCATTCAAGCCGACGAAATTAGTAATCTTATCCGGGAAC... (2 Replies)
admin.campaign.sql
admin.cardnumber_filter.sql
understand that rename is using mv command but how do I rename such that it become the following:
campaign.sql
cardnumber_filter.sql
thanks (2 Replies)
Hello,
I have some files in a directory like:
01_07_2010_aa.txt
01_07_2010_bb.txt
01_07_2010_cc.txt
01_07_2010_dd.txt
01_07_2010_ee.txt
01_07_2010_ff.txt
I want to change their names to :
3nm_aa.txt
3nm_bb.txt
3nm_cc.txt
3nm_dd.txt
3nm_ee.txt
3nm_ff.txt (8 Replies)
Hi,
If I have a directory full of say 100 random files, and I would like to organize them, for example: FILE001, FILE002, FILE003, FILE004, etc.
How would I do this from Terminal, instead of manually changing each file? I'm using Mac OS X, if that makes a difference.
Thank you in advance... (8 Replies)
Hi there,
I have a folder full of pdf's and I've run a compression on the to reduce the size, the output of the compress places a '-o' in the name of the file.
Before 12345.pdf
After 12345-o.pdf
Now I've got around 50000 files that I need to change back to the previous name, is... (3 Replies)
Hi all,
I need to replace automatically all special characters of one filename with some corresponding characters
For example >
ö --> oe
ä --> ae
....
If the special character comes more than one time, then all the coccuerences have to be replaced.
I would like to have a... (6 Replies)