output redirection in scripts


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers output redirection in scripts
# 1  
Old 02-28-2009
output redirection in scripts

I am trying to write a script that will remove any line in 2 given text files
starting with '-'.
the output should be to the second file.
this is what I tried:
Code:
#!/bin/csh -f
cat $1 $2 | grep -v '^-' > $2

the problem is the after executing the script, file2 contains only the
lines from file1.
for example:
before:
file1:
A
B
-C

file2:
D
E
-F

after:
file 2:
A
B

can I do it without temp files?
# 2  
Old 02-28-2009
Because you can't have same input and output with grep.
# 3  
Old 02-28-2009
ok, so is there anyway to do it without temporary file?
# 4  
Old 02-28-2009
You can use this if it's ok to touch $1.
Code:
cat $2 >> $1; grep -v '^-' $1 > $2

This one doesn't touch $1 but the output is inverted ($2 then $1)
Code:
cat $1 >> $2; sed -i '/^-/d' $2


Last edited by chebarbudo; 02-28-2009 at 01:52 PM.. Reason: new idea
# 5  
Old 02-28-2009
well, I can't change file1 and the order should be file1 and then file2
# 6  
Old 02-28-2009
With some shells (bash and zsh) you can use something like this:

Code:
{ rm file2 && grep -v '^-' > file2;}< <(cat file1 file2)

# 7  
Old 02-28-2009
ok this worked:
Code:
grep -v '^-' > $1 << here
`cat $1 $2`
here

thanks a lot!
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

For loop output redirection

Hi All, i have below for loop of which i am trying to redirect output in a file: for i in `/usr/sbin/ifconfig -a | awk '/flags/ {print $1}' | grep -v lo | sed 's/://g'` do ifconfig $i dhcp status done >> /tmp/logfile but instead the output is appearing as stdout on screen rather than... (12 Replies)
Discussion started by: omkar.jadhav
12 Replies

2. Shell Programming and Scripting

output redirection

Hi all I was wondering if there was a slicker way of doing this without the file - awk '{print $2}' FS=":" "${FILE}" > "${TMPFILE}" { read M_GRP_ID || m_fail 1 "Error: Read failed 1 (${FUNCNAME})" read M_GRP_WAIT || m_fail 1 "Error: Read failed 2 (${FUNCNAME})" }... (6 Replies)
Discussion started by: steadyonabix
6 Replies

3. Shell Programming and Scripting

Redirection of ls -l output

Hi I am making a script where i want to redirect the output of ls -l to a file Example #ls -l fil1.txt > /opt/temp/a.txt ac: No such file or directory I want to capture output of this command like here output is ac: No such file or directory can anyone help (4 Replies)
Discussion started by: anish19
4 Replies

4. UNIX and Linux Applications

output redirection command

Dear All, ./waf --run scratch/myfirst > log.out 2>&1 The above is a command line to redirect the output to a file called log.out. what is the 2>&1 part for ? Thank you (2 Replies)
Discussion started by: knowledgeSeeker
2 Replies

5. UNIX for Dummies Questions & Answers

Output redirection

Hello i am trying to write a script that will redirect the output to a certain file. Here is the code so far: #!/bin/bash ps -e | sort | more > psfile When I execute the script nothing happens since i assume the output was redirected to the file called psfile. When I try to look at the... (1 Reply)
Discussion started by: mfruiz34
1 Replies

6. Shell Programming and Scripting

Output redirection

We have an application here that does some table queries and then prints the result on screen. I do not have the code of this application (which i will just call "queryCommand"), but what it does is that you call it with some parameters and it prints some info about the query and then the... (5 Replies)
Discussion started by: jolateh
5 Replies

7. Shell Programming and Scripting

Problem in redirection of output

Hi All, i m facing very strange problem . like suppose i am in one directory and then i type ls it will display the content of directory then i redirect the output as sneha-pardus $ ls > test sneha-pardus $ cat test a.sh b.sh c.sh sneha-pardus $ awk ' { print $1 } ' test > test... (3 Replies)
Discussion started by: aishsimplesweet
3 Replies

8. Shell Programming and Scripting

Redirection output

Hi there I have a script that runs but it outputs everything onto the screen instead of a file. I've tried using the > outputfile.txt however all it does is dump the output to the screen and creates an outputfile.txt but doesn't put anything in that file. Any help would be appreciated ... (6 Replies)
Discussion started by: kma07
6 Replies

9. Shell Programming and Scripting

redirection and output

I'm redirecting the output of a command to a logfile, however, if the user is on a terminal I would also like the output to be displayed on the screen. tar tvf some_tarfile >Logfile if the user is on a term then have the output to the Logfile and also be displayed on the screen at the same... (2 Replies)
Discussion started by: nck
2 Replies

10. Shell Programming and Scripting

redirection output in two files

I want to redirect output of my script to two logfiles. I tried this : ./run.sh -c APP | tee >(grep " " > AppLogs.log) >(grep "XYZ" > xyz.log) >dev/null but this does not solve my purpose because logfile xyz.log remains empty untill i stop my script, i want both files, AppLogs.log and... (4 Replies)
Discussion started by: cmdup
4 Replies
Login or Register to Ask a Question