Help with Command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with Command
# 1  
Old 08-03-2012
Help with Command

Hi there,

I need some help with this.

I have large number of files in /edw2/source/emm directory and the files have names like:
Code:
CDRCCN_4004_120223-2342-DCCSCAP-GETSP2-120423-1612-230384_20120420161300

Actually, what they all have that can distinguish them is 20120423 which is a date - 23rd April 2012 and the trailing 6 numbers (161300) of each file is time 16H13:00 so, I'll have different files with different time but of same date.

E.g.:
Code:
1 - CDRCCN_4004_120223-2342-DCCSCAP-GETSP2-120423-1612-230384_20120420161300
2 - CDRCCN_4004_120223-2342-DCCSCAP-GETSP2-120423-1612-230384_20120420151324

and so on till 140,00 files

This is what I'm trying to achieve:

1 - I want to move all files according to their dates in a folder I'll name according to dates. E.g. folder 20apr2012 for all 20th April files.

2 - I want to zip this folder (20apr2012), compress it and move it to another folder on different mount point - /edw2/source/emm2

Any help is much appreciated.

Thanks
Moderator's Comments:
Mod Comment Code tags for code, please.

Last edited by Corona688; 08-03-2012 at 11:57 AM..
# 2  
Old 08-03-2012
You could get a list of the files with a specific datenumber sequence by using something like the below:

Code:
for file in $(ls | nawk -F"_" 'substr($NF,1,8) == "20120420"') ; do
mv $file /path/to/new/folder/
done

assuming you start off in the directory containing all the files and you want to move all files from April 20th 2012

Last edited by spynappels; 08-03-2012 at 07:56 AM.. Reason: typo
# 3  
Old 08-03-2012
Thanks spynappels.

What if I'm starting in another directory?

Because, I want to run this as a cron job.
# 4  
Old 08-03-2012
Try
Code:
for i in /source/dir/*20120420??????; do echo mv $i /target/dir/ ; done; tar czf  /edw2/source/emm2/archivefilename /target/dir

The 6 "?" are to make sure we use the pattern you mentioned, to my knowledge a repetition factor doesn't exist in shell globbing.
# 5  
Old 08-03-2012
Hi,

I really appreciate all your efforts but the above 2 scripts are not working.

I just tested them.

Anyone with more help?

Thanks
# 6  
Old 08-03-2012
You need to be more specific in how they did not work. Did you get error messages? What was the output if any?
# 7  
Old 08-03-2012
I didn't get any errors of any sort.

I changed directories as specified and ran the code the way it was sent and nothing changed.

i.e no files were moved nor zipped


But I came across one that works but this is more of a manual process:

Step 1: This moved all files with _20120630 into target directory
$ find . -name "*_20120630*" -print -exec mv {} /home/oracle/work/target \;

Step 2: Tar the target directory
$ tar -cvf 30jun2012.tar /home/oracle/work/adams_de/target

Step 3: Compress the tar file
$ gzip 30jun2012.tar

This I just tested and it worked perfectly but I want a scenario where I can automate this task and also delete the files that have already been compressed. I want to run this via cron.

Thanks for your effort, I appreciate a lot.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Another one line command where I'd like to determine if Ubuntu or Red Hat when running command

Hello Forum, I'm making very good progress on my report thanks to the very helpful people on this forum. I've been able to successfully create my report for my Red Hat servers. But I do have a few ubuntu servers in the mix and I'd like to capture some data from them when an ssh connection is... (8 Replies)
Discussion started by: greavette
8 Replies

2. AIX

I'm facing problem with rpm command, when running the command and appears this error:

exec(): 0509-036 Cannot load program /usr/opt/freeware/bin/rpm because of the following errors: 0509-022 Cannot load module /opt/freeware/lib/libintl.a(libintl.so.1). 0509-150 Dependent module /opt/freeware/lib/libiconv.a(shr4.o) could not be loaded. 0509-152 Member... (4 Replies)
Discussion started by: Ohmkar
4 Replies

3. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

SH script, variable built command fails, but works at command line

I am working with a sh script on a solaris 9 zone (sol 10 host) that grabs information to build the configuration command line. the variables Build64, SSLopt, CONFIGopt, and CC are populated in the script. the script includes CC=`which gcc` CONFIGopt=' --prefix=/ --exec-prefix=/usr... (8 Replies)
Discussion started by: oly_r
8 Replies

5. UNIX for Dummies Questions & Answers

passing command output from one command to the next command in cshell

HI Guys, I hope you are well. I am trying to write a script that gets executed every time i open a shell (cshell). I have two questions about that 1) I need to enter these commands $ echo $DISPLAY $ setenv $DISPLAY output_of_echo_$display_command How can i write a... (2 Replies)
Discussion started by: kaaliakahn
2 Replies

6. UNIX for Advanced & Expert Users

unix command : how to insert text at the cursor location via command line?

Hi, Well my title isn't very clear I think. So to understand my goal: I have a script "test1" #!/bin/bash xvkbd -text blabla with xbindkeys, I bind F5 key in order it runs my test1 script So when I press F5, test1 runs. I'm under Emacs/Vi and I press F5 in order to have "blabla" be... (0 Replies)
Discussion started by: xib.be
0 Replies

7. Shell Programming and Scripting

Need help! command working ok when executed in command line, but fails when run inside a script!

Hi everyone, when executing this command in unix: echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error. here is content of my script: tdbsrvr$ vi hc.sh "hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies

8. AIX

AIX:Command to get netaddress/subnet address command in IPv4/IP6

AIX:Command to get netaddress/subnet address command in IPv4/IP6 Can anybody help us with a command to retrieve netaddress/subnet address command in IPv4/IP6 on aix machine. net/subnet address is in the format 172.16.212.0(signifies all 255 machines in an IPv4 network) (2 Replies)
Discussion started by: rookie8278
2 Replies

9. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

10. SuSE

inconsistent ls command display at the command prompt & running as a cron job

Sir, I using the following commands in a file (part of a bigger script): #!/bin/bash cd /opt/oracle/bin ls -lt | tail -1 | awk '{print $6}' >> /tmp/ramb.out If I run this from the command prompt the result is: 2007-05-16 if I run it as a cron job then... (5 Replies)
Discussion started by: rajranibl
5 Replies
Login or Register to Ask a Question