[ctsgnb@shell ~/sand]$ cat f1
K2_34625-34675
K7_988963-988983
K12_773882-7734102
[ctsgnb@shell ~/sand]$ cat f2
U_P_321_9_3_11.ab1
U_P_322_9_3_11.ab1
U_P_323_9_3_11.ab1
[ctsgnb@shell ~/sand]$ paste f2 f1 | while read a b
> do
> t=${b##*_???}
> v=$(echo $b | sed 's/.*_...//;s/-.../-/')
> n=${b%$t}$(( -($v) )).${a#*.}
> echo "mv $a $n"
> done
mv U_P_321_9_3_11.ab1 K2_34650.ab1
mv U_P_322_9_3_11.ab1 K7_98820.ab1
mv U_P_323_9_3_11.ab1 K12_7733220.ab1
[ctsgnb@shell ~/sand]$
If it does what you want then just change the echo "mv $a $n" with mv "$a $n"
---------- Post updated at 12:42 AM ---------- Previous update was at 12:34 AM ----------
please give more clue about the caculation for the renaming :
34625-34675 = -50
and what should be calculated in the
773882-7734102
????
I assumed you want to keep the first 3 number unchanged so that is becomes:
-(882-4102)=3220
so the new name will be K12_7733220.ab1
by the way, i also assume you have the same number of entries in your both set of files
I want to write a shell script that will rename all the file names to today's date attached to it..
so for example i have a file names like
file1.sales.20081201.txt.c
zbrs.salestxtn.20091101.txt.inn
then it will rename both the files with todays date to it so the file names get changed... (1 Reply)
I have a file that looks like this
2 4 10 500 tim9
5 8 14 700 tim9
3 5 15 432 john1
1 4 12 999 ellen2
So basically what i want to do is fine duplicate names on column 5 and rename it with an extention (i.e. tim9_1 and tim9_2).
so the output file will look like this
2 4 10 500 tim9_1... (1 Reply)
I have to rename a large number of files so that the name of each file corresponds to a code number that is given side by side in a list (textfile).
The list contains in column A the filename of the actual files to be renamed and in column B the name (a client code, 9 digits) that has to be... (7 Replies)
I haven’t used Unix in over 25 years … and so I am at a loss for something that should be very simple. I have a lot of jpeg files (i.jpg) of students in a yearbook.. I also have an array name(i) of their names. I need to rename each “i.jpg” to “name(i).jpg”. I believe the ksh script... (11 Replies)
I have 7 files with 7 different names coming into a specified folder on weekly basis, i need to pick a file one after another and load into oracle table using sql loader. I am using ksh to do this. So in the process if the file has error records and if sql loader fails to load into oracle tables,... (2 Replies)
Hi there,
Firstly, I have no experience with shell scripts so would really appreciate some help.
I have the following shell script that is causing some problems:
moveit()
{
&& set -x
if
then
DOUBLE_DELIVERY=$(grep... (6 Replies)
I have hundreds of files with weird names, something like this:
I was wondering how can I rename them all keeping the sampleid and the last extension, something like this:
Any help will be greatly appreciated. (5 Replies)
Hi Team,
I'm new to Unix shell scripting .
I've the following requirement
A folder contains the list of files with the following format
ab.name.11.first
ab.name.12.second
ab.name.13.third
----------
I have to rename the above file to like below
... (6 Replies)
Data files coming in different names in a file name called process.txt.
1. shipments_yyyymmdd.gz
2 Order_yyyymmdd.gz
3. Invoice_yyyymmdd.gz
4. globalorder_yyyymmdd.gz
The process needs to discard all the below files and only process two of the 4 file names available
... (1 Reply)
Hi, I have about 60 files in a directory and need to rename those files. For example the file names are
i_can_phone_yymmdd.txt (where yymmdd is the date. i.e 170420 etc)
i_usa_phone_1_yymmdd.txt
i_eng_phone_4_yymmdd.txt
The new file names should be
phone.txt
phone_1.txt
phone_4.txt
I am... (4 Replies)
Discussion started by: naveed
4 Replies
LEARN ABOUT DEBIAN
prename
RENAME(1) Perl Programmers Reference Guide RENAME(1)NAME
rename - renames multiple files
SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPTION
"rename" renames the filenames supplied according to the rule specified as the first argument. The perlexpr argument is a Perl expression
which is expected to modify the $_ string in Perl for at least some of the filenames specified. If a given filename is not modified by the
expression, it will not be renamed. If no filenames are given on the command line, filenames will be read via standard input.
For example, to rename all files matching "*.bak" to strip the extension, you might say
rename 's/.bak$//' *.bak
To translate uppercase names to lower, you'd use
rename 'y/A-Z/a-z/' *
OPTIONS -v, --verbose
Verbose: print names of files successfully renamed.
-n, --no-act
No Action: show what files would have been renamed.
-f, --force
Force: overwrite existing files.
ENVIRONMENT
No environment variables are used.
AUTHOR
Larry Wall
SEE ALSO mv(1), perl(1)DIAGNOSTICS
If you give an invalid Perl expression you'll get a syntax error.
BUGS
The original "rename" did not check for the existence of target filenames, so had to be used with care. I hope I've fixed that (Robin
Barker).
perl v5.14.2 2014-09-26 RENAME(1)