Renaming all files inside a zipped file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Renaming all files inside a zipped file
# 1  
Old 01-03-2013
Renaming all files inside a zipped file

Hi,
To all the Unix gurus this should be a simple task, but as a newbie I'm finding it hard to crack this. Any help is highly appreciated...

Scenario:

Step 1 : Move zip file from FTP folder to WORK folder

Step 2:
Unzip the file "Sample_YYYYMMDDHHMMSS.tar.gz" which contains many file like a) Sample1.del
b) Sample2.del
c) Sample3.del etc...
Step 3: Rename all extracted files to
a)
Sample1_YYYYMMDDHHMMSS.del
b)
Sample2_YYYYMMDDHHMMSS.del
c)
Sample3_YYYYMMDDHHMMSS.del

Thanks,

Andy
# 2  
Old 01-03-2013
This is one way to rename the file(s):
Code:
## Rename files
dt=`date "+%Y%m%d%H%M%S"`
for x in `ls Sample*.del`
do
  nfn=${x%%.*}
  ext=${x##*.}
  mv $x ${nfn}$dt.$ext
done



Example:
Code:
x="Sample12.del"
dt=`date "+%Y%m%d%H%M%S"`
nfn=${x%%.*}
echo $nfn
ext=${x##*.}
echo $ext
echo mv $x ${nfn}_$dt.$ext

Sample12
del
mv Sample12.del Sample12_20130103155219.del

# 3  
Old 01-03-2013
That is a Useless Use of ls
Code:
TS=$( date +"%Y%m%d%H%M%S" )
for file in Sample*.del
do
    mv $file ${file%.*}_${TS}.del
done

Step 1 & 2 are pretty much straightforward. You can use mv and tar -zxvf for moving and extracting.
# 4  
Old 01-03-2013
Thanks spacebar for the prompt reply, but I think I didn't explain the requirement properly. The "YYYYMMDDHHMMSS" part of the Zip file name is kind a hard coded and we should use that value to rename all the file inside it.
Secondly the files inside the Zip file does not follow any pattern for example it may not be "sample1.del" and "sample2.del" but can be "abcd.del" and "nmhs.del"
# 5  
Old 01-03-2013
Code:
tgz_file="Sample_20130101000000.tar.gz"

FN=$( echo ${tgz_file%%.*} )
TS=$( echo ${FN##*_} )

for file in *.del
do
        mv $file ${file%.*}_${TS}.del
done

# 6  
Old 01-03-2013
Quote:
Originally Posted by bipinajith
Code:
tgz_file="Sample_20130101000000.tar.gz"

FN=$( echo ${tgz_file%%.*} )
TS=$( echo ${FN##*_} )

for file in *.del
do
        mv $file ${file%.*}_${TS}.del
done

Unnecessary sub-shells!
Code:
FN=${tgz_file%%.*}
TS=${FN##*_}

# 7  
Old 01-04-2013
My bad, put echo to verify the results of trim and later embedded between parentheses. That is indeed unnecessary. Thanks for pointing that out. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grabing the same timestamp from files that are ZIPPED

Hi, I am zipping more than 20 files that has same timestamp in all of them. I need to create the zip file with the same timestamp as in the files that are zipped. So I have files: Dummytest_20140601W110515_file1.txt Dummytest_20140601W110515_file2.txt ....... .......... (5 Replies)
Discussion started by: Saanvi1
5 Replies

2. Shell Programming and Scripting

Work with huge Zipped files

Hello dear members, I have one general and one specific question which I will be very grateful if you could help me with them. Let's start with my general question: 1. I am working on cluster computer shared with other people and I need to manipulate a big zipped text file of 13 GB. There is... (1 Reply)
Discussion started by: Homa
1 Replies

3. Shell Programming and Scripting

Renaming the file name for n number of files

Hi , I am kind of new to shell scripting and found a situation to handle ... I have few files which will be ftpd in to our sustem , the file names needs to be renamed based on condition. ------------ Eg file names :- AE_JUNFOR_2013_MTD_2013-04-09-08-30-09.TXT... (6 Replies)
Discussion started by: chillblue
6 Replies

4. Shell Programming and Scripting

grepping files and then renaming file

Hi, What is the easiest way to list a directory with 1000s of filenames, grep it for a certain sequence of numbers, and if found to rename the file by the value you are grepping. eg The file I am examining will looks like this: 1234 1224343 2324 244 35665 If I am examining a list... (1 Reply)
Discussion started by: mantis
1 Replies

5. UNIX for Dummies Questions & Answers

Renaming files in one file from names in other

Hi Guys, I have a small problem of renaming multiple files. For example I have names of a set of files in one directory like K2_34625-34675 K7_988963-988983 K12_773882-7734102 and the other set corresponding to the same is U_P_321_9_3_11.ab1 U_P_322_9_3_11.ab1 U_P_323_9_3_11.ab1 Now... (23 Replies)
Discussion started by: pawannoel
23 Replies

6. Shell Programming and Scripting

Copy all zipped files from one folder to another

Hi everyone, when I try to copy *.gz files run cp within the correct source folder it works as follow: Source folder = C:/Documents and Settings/user/Recent papers/2771/ Destination folder = C:/Documents and Settings/user/My documents/1532/temp cp *.gz "C:/Documents and Settings/user/My... (2 Replies)
Discussion started by: cgkmal
2 Replies

7. Shell Programming and Scripting

Difference between 2 zipped text files.

Hi, I have below two zipped files - file1.gz 023384148,1,,,02077301961,R,02077301961,N,0,02077301961,N,0,0,8010,02077300518,U,N,,02077300518,U,20100501011732,20100501011732,0,20100501011815,00000430,16,16,10,N;... (8 Replies)
Discussion started by: ravigupta2u
8 Replies

8. Linux

grep thru zipped files

Hi All, I need to check the logs and grep it. The problem is that the previous days are zipped with *.gz. How do grep on the *.gz? Thank you in advance. (1 Reply)
Discussion started by: itik
1 Replies

9. Shell Programming and Scripting

Greping from zipped files without unzipping

I have more than 500 gzipped files in a directory. I have one lookup file in the same directory with 200 key values. I need to get the name of the gzipped file which have any of these 200 key values. Here my criteria is do not unzip the files due to space constraint. Any suggestion? (3 Replies)
Discussion started by: kanu_kanu
3 Replies

10. Shell Programming and Scripting

How to search a pattern inside a zipped file ie (.gz file) with out unzipping it

How to search a pattern inside a zipped file ie (.gz file) with out unzipping it? using grep command.. Bit urgent.. pls..help me (2 Replies)
Discussion started by: senraj01
2 Replies
Login or Register to Ask a Question