Redirect output to memory instead of an external file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Redirect output to memory instead of an external file
# 1  
Old 10-30-2014
Redirect output to memory instead of an external file

I use the following as an example. I find myself always doing this and I believe my scripts would run much faster if I put the sed results into a place in memory rather than writing to files. Again, its not about sed, its about redirecting to a place in memory rather than an external file.

Code:
#!/bin/bash
sed -r 's/\s+/ /g' vts.txt > vts2
while read x y z
do 
echo $y
done < vts2

Now the following obviously doesnt work, I provide it for illustration

Code:
#!/bin/bash
vts2=`sed -r 's/\s+/ /g' vts.txt`
while read x y z
do
 echo $y
done < $vts2

# 2  
Old 10-30-2014
Research into creating a ramdisk for your particular platform.

Try searching these fora first...
# 3  
Old 10-30-2014
Like this?

Code:
#!/bin/bash

sed 's/\s+/ /g' vts.txt |
while read x y z; do
    echo $y
done

or do you want a function?

Code:
second_col ()
{
   sed 's/\s+/ /g' "$1" |
        while read x y z; do
            echo $y
        done 
}

Code:
second_col vts.txt

If I missed the point, ignore it.
# 4  
Old 10-30-2014
Quote:
Originally Posted by popeye
I use the following as an example. I find myself always doing this and I believe my scripts would run much faster if I put the sed results into a place in memory rather than writing to files. Again, its not about sed, its about redirecting to a place in memory rather than an external file.

Code:
#!/bin/bash
sed -r 's/\s+/ /g' vts.txt > vts2
while read x y z
do 
echo $y
done < vts2

Now the following obviously doesnt work, I provide it for illustration

Code:
#!/bin/bash
vts2=`sed -r 's/\s+/ /g' vts.txt`
while read x y z
do
 echo $y
done < $vts2

That's exactly the reason why pipes were invented...
# 5  
Old 10-30-2014
I hoping this is a vastly simplified example. Did you know that the read built-in will automatically chomp multiple whitespace charactersso you could have simply done:
Code:
while read x y z
do
    echo $y
done < vts.txt

But, assuming you are doing some sort of more complex sed or grep the read loop: pipes are the way to go.

Of course if you find yourself doing sed ... | grep ... | sed ... | kitchen-sink it's probably time to consider using a more powerfull text processing command, like awk script.
# 6  
Old 10-30-2014
It seems like one better sed script would suffice ( add 's/^[^ ]+ \(.*\) [^ ]+$/\1/' ), or a better bash script extending the set in $IFS and using just 'while read'.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unable to redirect output to a file

I m not able to redirect the java version to a file however, it shows as output when I run my script. bash-3.2$ more 1test.tmp java_version=`which java` echo "MY JAVA:"$java_version version=`"$java_version" -version` echo $version >>/tmp/moht/java_version.log $java_version -version 2... (4 Replies)
Discussion started by: mohtashims
4 Replies

2. Shell Programming and Scripting

Redirect script output to a file and mail the output

Hi Guys, I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts. I used below but it is not working: OFILE=/home/home1/report1 echo "report1 details" > $OFILE =/home/home1/1.sh > $OFILE echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies

3. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

4. Shell Programming and Scripting

Redirect the output in a file and on screen

I am trying to get following result from the scipt I have. First time it generates the o/p in correct format. However if I run it again it appends to the existing file. I would like to see o/p on screen as well as save it in file. Everytime it should create new file. ## I/P file 0174 0175... (3 Replies)
Discussion started by: dynamax
3 Replies

5. Shell Programming and Scripting

How to redirect output of ls to a file?

Hi All, I want to redirect only the file names to a new file from the ls -ltr directroy. how Can i do it. my ls -ltr output will be as below. -rwxr-xr-x 1 118 103 28295 Jul 26 2006 event.podl -rwxr-xr-x 1 118 103 28295 Jul 26 2006 xyz.podl I want my new file... (6 Replies)
Discussion started by: girish.raos
6 Replies

6. Shell Programming and Scripting

How redirect standard output to a file

Hi guys, i have a script named purgeErrors.ksh, when i execute this script i need to redirect the output to a log file in the same directory, how can i do that ?? -- Aditya (5 Replies)
Discussion started by: chaditya
5 Replies

7. HP-UX

Can I copy a Unix file to a external memory stick?

I'm doing server maintainence to a HP UX server and I have 2 files that someone need for an unknown reason. I was wondering If I can put this files on a memory stick, or is there someother way I have to copy it for them? (3 Replies)
Discussion started by: MarcKim
3 Replies

8. UNIX for Dummies Questions & Answers

redirect output to a file name

Hi all!! is possible to assign the output of some command to filename, i.e. grep_output.txt Otherwise, I want to open a new file which name is inside another, how can I do it? Thanks a lot! (7 Replies)
Discussion started by: csecnarf
7 Replies

9. UNIX for Dummies Questions & Answers

Redirect output to a file

Ahhhrrrggg I'm having a brain fart... I want to take the output of a command and redirect it to a file... This works.... $ man cp | cat >> copy_help but this doesn't keytool -help |cat >> keytool_help It just produces... these lines... more keytool_help ] ... ... (11 Replies)
Discussion started by: jimmyc
11 Replies

10. Shell Programming and Scripting

redirect output to file?

Hi: I am currently working on a program which requires direct its ouput to a file here is an example ./proram arg_1 arg_2 when program ends all output will be arg_2 file Is that possible I am not a bad programmer, However I am stuck there. Can anyone give a hint? Thanks SW (1 Reply)
Discussion started by: slackware
1 Replies
Login or Register to Ask a Question