05-10-2007
echo is too slow. HELP with Awk
Hello All,
Below is a simple script i worte to find the 208th char in a file. If the char = "C" then I re-direct the line to a file called change.txt. If it is not "C" then I re-direct it to a file called delete.txt.
My problem is I have a file 0f 500K lines. this script is very slow. I am sure awk works faster. I jsut cant seem to get the awk syntax corect. I know I can call subtr in awk and bsed upon the answer tell it to print the line but I cant get it to work. Below is my original SLOW script.
Any help would be great!!!
HTML Code:
find_043()
{
read sLine
status=$?
if [ $status -ne 0 ]; then
EOF="Y"
else
EOF=
fi
while [ ! "$EOF" ]
do
StatusFlg==`echo $sLine | cut -c208`
if [ $StatusFlg == 'C' ]; then
echo $sLine >> change.txt
else
echo $sLine >> delete.txt
fi
read sLine
status=$?
if [ $status -ne 0 ]; then
EOF="Y"
else
EOF=
fi
done
}
cat FBU_043.dat | find_043
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I have the below command.
awk 'BEGIN {printf("%1s","cat")}' > temp.txt
can i do the same using echo ?If So, how?
Thanks
JS (2 Replies)
Discussion started by: jisha
2 Replies
2. Shell Programming and Scripting
Hello,
I have written the script below to extract specific data from a text file and then use the data extracted as parameters for another shell script call 'loto_tsim'.
Everytime I run my script it complains about the 'echo' line. Am I missing something? I have spent hours and still cannot solve... (10 Replies)
Discussion started by: jermaine4ever
10 Replies
3. Shell Programming and Scripting
I have a text file that contains 4 million lines, each line contains 2 fields(colon as field separator). as shown:
123:444,555,666,777,888,345
233:5444,555,666,777,888,345
623:454,585,664,773,888,345
......
Here I have to split the second field(can be up to 40,000 fields) by comma into an... (14 Replies)
Discussion started by: kevintse
14 Replies
4. Shell Programming and Scripting
Hi,
I have a script that, basically, has two input files of this type:
file1
key1=value1_1_1
key2=value1_2_1
key4=value1_4_1
...
file2
key2=value2_2_1
key2=value2_2_2
key3=value2_3_1
key4=value2_4_1
...
My files are 10k lines big each (approx).
The keys are strings that don't... (7 Replies)
Discussion started by: fzd
7 Replies
5. Shell Programming and Scripting
Hi,
I have a script which looks like this.
Input file
data1^20
data2^30
#!/bin/sh
file"/home/Test.txt"
while read line
do
echo $line |awk 'BEGIN { FS = "^" } ; { print $2 }'
echo $line |awk 'BEGIN { FS = "^" } ; { print $1 }' | gzip | wc -c
done <"$file"
How can i... (4 Replies)
Discussion started by: chetan.c
4 Replies
6. Shell Programming and Scripting
Hi,
I have a large number of input files with two columns of numbers.
For example:
83 1453
99 3255
99 8482
99 7372
83 175
I only wish to retain lines where the numbers fullfil two requirements. E.g:
=83
1000<=<=2000
To do this I use the following... (10 Replies)
Discussion started by: s052866
10 Replies
7. Shell Programming and Scripting
Hello all,
I wrote this command line for some calculation on my given input files based on another input file which is a txt file.
while read BAM REGION; do samtools view $BAM $REGION | awk '{if ($2==0) print $0}' | wc -l >>log.txt; echo "$REGION"; done >> log.txt <regions.txt
It takes... (4 Replies)
Discussion started by: @man
4 Replies
8. Shell Programming and Scripting
i have a script that has many lines similar to:
echo $var | awk -F"--" '{print $2}'
as you can see, two commands are being run here. echo and awk.
id like to combine this into one awk statement.
i tried:
awk -F"--" "BEGIN{print $var; print $2}"
but i get error messages. (10 Replies)
Discussion started by: SkySmart
10 Replies
9. Shell Programming and Scripting
Stumped with the formatting of the awk output when used with variables, e.g.:
awk -F, 'BEGIN {OFS=","} print {$2,$3,$4}' $infile1
produces the desired output (with rows), but when echoing the variable below, the output is one continuous line
var1=$(awk -F, 'BEGIN {OFS=","} print... (4 Replies)
Discussion started by: ux4me
4 Replies
10. OS X (Apple)
Well i set myself a challenge to have an FFT function using nothing but ksh93 and awk.
It took some serious jiggery pokery and concentration with all the brackets and '$' characters but here is the result. It is RADIX 2 only, but hey, show me another UNIX shell script that does it. It IS SLOW but... (17 Replies)
Discussion started by: wisecracker
17 Replies
LEARN ABOUT DEBIAN
xpacmdnew
xpacmdnew(3) SAORD Documentation xpacmdnew(3)
NAME
XPACmdNew - create a new XPA public access point for commands
SYNOPSIS
#include <xpa.h>
XPA XPACmdNew(char *class, char *name);
DESCRIPTION
Create a new XPA public access point for commands that will share a common identifier class:name. Enter this access point into the XPA name
server, so that it can be accessed by external processes. XPACmdNew() returns an XPA struct.
It often is more convenient to have one public access point that can manage a number of commands, rather than having individual access
points for each command. For example, it is easier to command the ds9 image display using:
echo "colormap I8" | xpaset ds9
echo "scale log" | xpaset ds9
echo "file foo.fits" | xpaset ds9
then to use:
echo "I8" | xpaset ds9_colormap
echo "log" | xpaset ds9_scale
echo "foo.fits" | xpaset ds9_file
In the first case, the commands remain the same regardless of the target XPA name. In the second case, the command names must change for
each instance of ds9. That is, if a second instance of ds9 called DS9 were running, it would be commanded either as:
echo "colormap I8" | xpaset DS9
echo "scale log" | xpaset DS9
echo "file foo.fits" | xpaset DS9
or as:
echo "I8" | xpaset DS9_colormap
echo "log" | xpaset DS9_scale
echo "foo.fits" | xpaset DS9_file
Thus, in cases where a program is going to manage many commands, it generally is easier to define them as commands associated with the
XPACmdNew() routine, rather than as separate access points using XPANew().
When XPACmdNew() is called, only the class:name identifier is specified. Each sub-command is subsequently defined using the XPACmdAdd()
routine.
SEE ALSO
See xpa(7) for a list of XPA help pages
version 2.1.14 June 7, 2012 xpacmdnew(3)