Problems with using grep to make backups to a different directory


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problems with using grep to make backups to a different directory
# 1  
Old 10-28-2013
Problems with using grep to make backups to a different directory

I am trying to program a script that is using grep to find lines in a file in my home directory, and then use a pipe command to copy what is shown into different files in a different directory to create backup files. When I run it, though, it only creates a copy of the file that grep was going through, not the actual lines it found in that file. Here is a sample of the code:
Code:
 if (-e $argv[1]) then
   if (-d $argv[2] then
    grep '.*' $argv[1] | cp $argv[1] ~/$argv[2]/$argv[1].bak
   endif
endif
exit 0

The first argument is the file you want to use grep on, and the second argument is the directory I want the backup to be put to, with the same filename with a .bak at the end. Any ideas on what I'm doing wrong and why it isn't copying the whole thing? Thank you
# 2  
Old 10-28-2013
Code:
grep '.*' $argv[1] > ~/$argv[2]/$argv[1].bak

# 3  
Old 10-28-2013
My problem is that at the end even if I use the redirection operator,
Code:
 >  ~/argv[2]/$argv[1].bak

I'm thinking it is only taking the file that I am using grep on, and not the actual stuff listed by grep. What would I have to put besides $argv[1] to make the lines different files in the other directory instead of one renamed file that grep was just used on?

Thank you for your suggestion.
# 4  
Old 10-28-2013
Quote:
Originally Posted by sammythesp3rmy
I'm thinking it is only taking the file that I am using grep on, and not the actual stuff listed by grep.
Did you give it a try? Here's an example:

Code:
[user@host ~]$ cat file
hello
world
hellomars
[user@host ~]$ grep hello file > ./test/file.bak
[user@host ~]$ cat test/file.bak
hello
hellomars
[user@host ~]$

# 5  
Old 10-28-2013
I am wanting each of the things listed to go into different files, though, and not just one file in the other directory. For example after I do the backup files when i do an
Code:
 ls ~/test

i would get back a hello.bak and a hellomars.bak
# 6  
Old 10-28-2013
If you make the file contents the new filenames, what should be the new file contents?
# 7  
Old 10-28-2013
The file contents would be the scripts that are in the file names
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep or cat The Whole Directory PROBLEMS :(

Hi Guys This is my first post so I am not sure how things go here. I'm sorry if I'm breaking the rule or something. Feel free to correct me about that :) So as I was saying... I'd been trying to grep this folder containing 900,000 txt files but seems no luck. I get either "No such file... (6 Replies)
Discussion started by: Nexeu
6 Replies

2. Solaris

Problems with make install

Hi all, I'm working on a server with Solaris 10 and I'm trying to install the pptp client version 1.7.2. So, the generation of the execute file is ok, I run the command 'make' and I got the pptp file. Now I have to run the command 'make install' to install the software, but it stops at the... (3 Replies)
Discussion started by: idro
3 Replies

3. UNIX for Dummies Questions & Answers

problems using 'make' install

I am tring to install DBD::Oracle on Solaris 9 box, I issued command type cc type gcc but both are not found. then i manually searched for gcc, i found it and create a symbolic link to it in my directory. $ perl Makefile.pl (works ok) $ make (retuns error below) LD_RUN_PATH="" cc -G... (1 Reply)
Discussion started by: jameskay
1 Replies

4. HP-UX

Problems restoring Ignite make_recovery DAT backups

Can anyone help with an HP Ignite problem please !! We currently have 2 servers running HP-UX B.11.00 connected together and using a high availability cluster (serviceguard) running one package. Each of the servers have 2 mirrored local disks. (also installed HP OpenviewDM B.05.03, Oracle 8.0.5,... (7 Replies)
Discussion started by: clivethegadget
7 Replies

5. Shell Programming and Scripting

Make grep -c display like grep -n?

Hey Guys, Wondering if there is a way to do the following I have a file called test.txt abc def abc abc def I have a pattern file called pattern.txt containing the following abc def I want to do a count, but have it display the count value preceeding each line like grep -n (2 Replies)
Discussion started by: Jerrad
2 Replies

6. Solaris

Problems with Make

I seem to be having some problems using make - I am getting the following error code: make: Fatal error: Command failed for target `machine.o' So far I have tried to install top from the tar file. I gunzip the file - and then used tar xvf. This all works fine but i then use the make command... (1 Reply)
Discussion started by: frustrated1
1 Replies

7. UNIX for Advanced & Expert Users

Problems with gnu make

I am running a make file through the gnu make tool and i am getting the following error jsh1035c:/users/egate453/admegate/kapil/samples $ make -f GNUmakefile queue_c make -f ./GNUmakefile queue_c in_objdir=1 build_root=/users/egate453/admegate/kapil/samples make: Entering directory... (2 Replies)
Discussion started by: handak9
2 Replies

8. UNIX for Dummies Questions & Answers

problems with make

I have installed gcc 295.3 and make 3.79.1 and I am attempting to compile the apache installation. I can run ./configure and no errors occur. However, when I try to run make it complains that it is unable to find the ar command. Here is the output after entering make. Any help is appreciated. #... (2 Replies)
Discussion started by: kmgrady01
2 Replies

9. UNIX for Advanced & Expert Users

'make' problems (compliation problems?)

I'm trying to compile and install both most recent version of 'make' and the most recent version of 'openssh' on my Sparc20. I've run into the following problems... and I don't know what they mean. Can someone please help me resolve these issues? I'm using the 'make' version that was... (5 Replies)
Discussion started by: xyyz
5 Replies
Login or Register to Ask a Question