12-02-2009
Removing blocks from a file
I have a file like the one below. Each record is separated with >
In between I have lines consisting of 3 numeric values separated by a space.
I need to take each block between the > sign and read the first number in the line.
Then take the first after the > sign and the last before the > sign. Check whether the difference is greater than a certain value. If it is, the block is removed from the file.
For example, in the following block, I check whether ABS(12.9306 - 10) > 38
If it is greater than 38, the block got to be removed
Can someone help please
>
12.9306 0 5.80696
12.722 0.138373 5.31509
12.3915 0.298905 4.65587
12.0588 0.409492 4.04942
11.7234 0.473844 3.46864
11.3851 0.492713 2.89112
11.0435 0.464082 2.29359
10.6984 0.382409 1.6451
10.3501 0.236171 0.891863
10 0 0
>
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
Hello Firends,
I have file like below. I want to remove selected blocks say abc,pqr,lst. how can i remove those blocks from file.
zone abc {
blah
blah
blah }
zone xyz {
blah
blah
blah }
zone pqr {
blah
blah
blah } (4 Replies)
Discussion started by: nrbhole
4 Replies
2. Solaris
I created a zpool and zfs filesystem in OpenSolaris. I made two NFS mount points:
> zpool history
History for 'raidpool':
2009-01-15.17:12:48 zpool create -f raidpool raidz1 c4t1d0 c4t2d0 c4t3d0 c4t4d0 c4t5d0
2009-01-15.17:15:54 zfs create -o mountpoint=/vol01 -o sharenfs=on -o... (0 Replies)
Discussion started by: sqa777
0 Replies
3. Shell Programming and Scripting
Hi,
This is part of a large text file I need to separate out.
I'd like some help to build a shell script that will extract the text between sets of dashed lines, write that to a new file using the whole or part of the first text string as the new file name, then move on to the next one and... (7 Replies)
Discussion started by: cajunfries
7 Replies
4. UNIX for Dummies Questions & Answers
I'm Unix. I'm looking at "df" on Unix now and below is an example. It's lists the filesystems out in 512-blocks, I need this in 4k blocks. Is there a way to do this in Unix or do I manually convert and how?
So for container 1 there is 7,340,032 in size in 512-blocks. What would the 4k block be... (2 Replies)
Discussion started by: rockycj
2 Replies
5. Shell Programming and Scripting
Hello,
I have a file like this:
FILE.TXT:
(define argc :: int)
(assert ( > argc 1))
(assert ( = argc 1))
<check>
#
(define c :: float)
(assert ( > c 0))
(assert ( = c 0))
<check>
#
now, i want to separate each block('#' is the delimeter), make them separate files, and then send them as... (5 Replies)
Discussion started by: paramad
5 Replies
6. Shell Programming and Scripting
Hi all,
I want to extract blocks of data from a file depending on the contents of that block.
The input file(table) has several blocks each starting with 'gene' in the first column. I want to extract only those blocks which do not have the expression '_T02' in the second column.
Input file ... (3 Replies)
Discussion started by: newbie83
3 Replies
7. Shell Programming and Scripting
Hello,
Searched for a while and found some "line-to-column" script. My case is similar but with multiple fields each row:
S02 Length Per
S02 7043 3.864
S02 54477 29.89
S02 104841 57.52
S03 Length Per
S03 1150 0.835
S03 1321 0.96
S03 ... (9 Replies)
Discussion started by: yifangt
9 Replies
8. Shell Programming and Scripting
Hello all,
short story: I'm writing a script to add and remove dns records in dns files. Its on a RHEL 5.5
So far i've locked up the basic operations in a couple of functions:
- validate the parameters
- search for existant ip in file when adding
- search for existant name records in... (6 Replies)
Discussion started by: maverick72
6 Replies
9. Shell Programming and Scripting
I sat down yesterday to write this script and have just realised that my methodology is broken........
In essense I have.....
----------------------------------------------------------------- (This line really is in the file)
Service ID: 12345 ... (7 Replies)
Discussion started by: Bashingaway
7 Replies
10. Solaris
Is there any way to translate a file name to the underlying file system's disk blocks/sectors/extents on UFS (Solaris OS on Sparc)?
I found several ways to do it on linux file systems like ext2/3/4, using command like hdparm -- fibmap and filefrag.
I also found one equivalent way to get that... (9 Replies)
Discussion started by: dorbaruch
9 Replies
RLAM(1) General Commands Manual RLAM(1)
NAME
rlam - laminate records from multiple files
SYNOPSIS
rlam [ -tS ][ -u ][ -iaN | -ifN | -idN | -iiN | -iwN | -ibN ] input1 input2 ..
DESCRIPTION
Rlam simply joins records (or lines) from multiple inputs, separating them with the given string (TAB by default). Different separators
may be given for different files by specifying additional -t options in between each file name. Note that there is no space between this
option and its argument. If none of the input files uses an ASCII separator, then no end-of-line character will be printed, either.
An input is either a stream or a command. Commands are given in quotes, and begin with an exclamantion point ('!'). If the inputs do not
have the same number of lines, then shorter files will stop contributing to the output as they run out.
The -ia option may be used to specify ASCII input (the default), or the -if option may be used to indicated binary IEEE 32-bit floats on
input. Similarly, the -id and -ii options may be used to indicate binary 64-bit doubles or integer words, respectively. The -iw option
specifies 2-byte short words, and the -ib option specifies bytes. If a number is immediately follows any of these options, then it indi-
cates that multiple such values are expected for each record. For example, -if3 indicates three floats per input record for the next named
input. In the case of the -ia option, no number indicates one line per input record, and numbers greater than zero indicate that many
characters exactly per record. For binary input formts, no number implies one value per record. For anything other than EOL-separated
input, the default tab separator is reset to the empty string.
A hyphen ('-') by itself can be used to indicate the standard input, and may appear multiple times. The -u option forces output after each
record (i.e., one run through inputs).
EXAMPLE
To join files output1 and output2, separated by a comma:
rlam -t, output1 output2
To join a file with line numbers (starting at 0) and its reverse:
cnt `wc -l < lam.c` | rlam - -t: lam.c -t '!tail -r lam.c'
To join four data files, each having three doubles per record:
rlam -id3 file1.dbl file2.dbl file3.dbl file4.dbl > combined.dbl
AUTHOR
Greg Ward
SEE ALSO
cnt(1), histo(1), neaten(1), rcalc(1), tabfunc(1), total(1)
RADIANCE
7/8/97 RLAM(1)