05-16-2008
how to read record by record from a file in unix
Hi guys,
i have a big file with the following format.This includes header(H),detail(D) and trailer(T) information in the file.My problem is i have to search for the character "6h" at 14 th and 15 th position in all the records .if it is there i have to write all those records into a separate file along with the header and trailer and the last nine digits in the trailer should indiacate the count of the detaied records.can any one help me on this how to achive? Basically i am new to unix shell scripting.
following the file format is
HBM6303000000000200805060940412008050609404120080506SCITS 8.2
D6303200805066HJ8164-61002 EURO6303I0073554514 0017992008031120080430HP00DD00Hewlett-Packard Pte Ltd 12.000 20080502 0000000509.3900UDNB USDEA 00001EA SG 00022797990001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022797990001
D6303200805066HJ8164-61002 EURO6303I0073554514 0018052008031120080430HP00DD00Hewlett-Packard Pte Ltd 16.000 20080502 0000000509.3900UDNB USDEA 00001EA SG 00022798050001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798050001
D6303200805066HJ8164-61002 EURO6303I0073554514 0018142008031120080430HP00DD00Hewlett-Packard Pte Ltd 16.000 20080502 0000000509.3900UDNB USDEA 00001EA SG 00022798140001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798140001
D6303200805066HJ8164-61002 EURO6303I0073554514 0018092008031120080430HP00DD00Hewlett-Packard Pte Ltd 16.000 20080502 0000000509.3900UDNB USDEA 00001EA SG 00022798090001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798090001
TBM630300000000020080506094041000003818
advancedthanks
narasimha.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all
I have file f1 like this:
Set AM/PM indicator to PM started|14155|
Generate Error Re|7|
Projected Cash Ba|741|
Roll System Date |4|
Projected Cash Balances started|2|
Process Mark To Market started|13429|
Process paydowns started|14189|
Process Fixed Inc|439|
Process Mark To... (3 Replies)
Discussion started by: koti_rama
3 Replies
2. Shell Programming and Scripting
Hi,
I am new to UNIX scripting and woiuld appreicate your help...
Input file contains only one (but long) record:
aaaaabbbbbcccccddddd.....
Desired file:
NEW RECORD #new record (hardcoded) added as first record - its length is irrelevant#
aaaaa
bbbbb
ccccc
ddddd
...
...
... (1 Reply)
Discussion started by: rsolap
1 Replies
3. UNIX for Advanced & Expert Users
Hi
I have an xml file which has multiple xml records..
I don't know how to read those records and pipe them to another shell command
the file is like
<abc>z<def>y<ghi>x........</ghi></def></abc> (1st record)
<jkl>z<mno>y<pqr>x........</pqr></mno></jkl> (2nd record)
Each record end... (4 Replies)
Discussion started by: aixjadoo
4 Replies
4. Shell Programming and Scripting
Hi
I want to read one row record from a text file.
For eg: I have Sample.txt file with one row of record like
123456768
I want to get the above value from the file and assign it to a variable in my script. Please guide me how to proceed.
Thanks,
Soll (2 Replies)
Discussion started by: sollins
2 Replies
5. Shell Programming and Scripting
Hi Guys,
I am new to unix scripting and I am tasked to parse through a CSV file delimited by #.
Sample:
sample.csv
H#A#B#C
D#A#B#C
T#A#B#C
H = Header
D = Detail Record
T = Tail
What I need is to read the file and parse through it to get the columns.
I have no idea on how... (8 Replies)
Discussion started by: 3vilwyatt
8 Replies
6. Shell Programming and Scripting
For eg: I have sample.txt file with 4 rows of record like:
user1|password1
user2|password2
user3|password3
user4|password4
The username and password is sepsrated by '|'
I want to get the 1st row value from the file and assign it to two different variables(username and password)
in my... (1 Reply)
Discussion started by: priya001
1 Replies
7. Shell Programming and Scripting
Hi,
I am reading file records inside a while loop,
and want to update the record when certain condition is met.
How can I update a file while being read?
I want to avoid using temporary files, copy, rename, ...
while IFS=',' read -r f1 f2
do
function(f1,f2)
if
then
<add... (1 Reply)
Discussion started by: ysrini
1 Replies
8. Shell Programming and Scripting
Hi! all
can any one tell me how to compare current record of column with next and previous record in awk without using array
my case is like this
input.txt
0 32
1 26
2 27
3 34
4 26
5 25
6 24
9 23
0 32
1 28
2 15
3 26
4 24 (7 Replies)
Discussion started by: Dona Clara
7 Replies
9. Shell Programming and Scripting
Hello, I have a file that looks like this:
Generated geometry (...some special descriptor)
1 0.56784 1.45783 -0.87965
8 1.29873 -0.8767 1.098789
... ... ... ...
Generated geometry (....come special descriptor)
... .... ... ...
... ... ... ...
and... (4 Replies)
Discussion started by: jaldo0805
4 Replies
10. Shell Programming and Scripting
I have test.xml
<emp><id>101</id><name>AAA</name><date>06/06/14 1811</date></emp>
<Join><id>101</id><city>london</city><date>06/06/14 2011</date></join>
<Join><id>101</id><city>new york</city><date>06/06/14 1811</date></join>
<Join><id>101</id><city>sydney</city><date>06/06/14... (2 Replies)
Discussion started by: vsraju
2 Replies
LEARN ABOUT DEBIAN
funtbl
funtbl(1) SAORD Documentation funtbl(1)
NAME
funtbl - extract a table from Funtools ASCII output
SYNOPSIS
funtable [-c cols] [-h] [-n table] [-p prog] [-s sep] <iname>
DESCRIPTION
[NB: This program has been deprecated in favor of the ASCII text processing support in funtools. You can now perform fundisp on funtools
ASCII output files (specifying the table using bracket notation) to extract tables and columns.]
The funtbl script extracts a specified table (without the header and comments) from a funtools ASCII output file and writes the result to
the standard output. The first non-switch argument is the ASCII input file name (i.e. the saved output from funcnts, fundisp, funhist,
etc.). If no filename is specified, stdin is read. The -n switch specifies which table (starting from 1) to extract. The default is to
extract the first table. The -c switch is a space-delimited list of column numbers to output, e.g. -c "1 3 5" will extract the first
three odd-numbered columns. The default is to extract all columns. The -s switch specifies the separator string to put between columns.
The default is a single space. The -h switch specifies that column names should be added in a header line before the data is output. With-
out the switch, no header is prepended. The -p program switch allows you to specify an awk-like program to run instead of the default
(which is host-specific and is determined at build time). The -T switch will output the data in rdb format (i.e., with a 2-row header of
column names and dashes, and with data columns separated by tabs). The -help switch will print out a message describing program usage.
For example, consider the output from the following funcnts command:
[sh] funcnts -sr snr.ev "ann 512 512 0 9 n=3"
# source
# data file: /proj/rd/data/snr.ev
# arcsec/pixel: 8
# background
# constant value: 0.000000
# column units
# area: arcsec**2
# surf_bri: cnts/arcsec**2
# surf_err: cnts/arcsec**2
# summed background-subtracted results
upto net_counts error background berror area surf_bri surf_err
---- ------------ --------- ------------ --------- --------- --------- ---------
1 147.000 12.124 0.000 0.000 1600.00 0.092 0.008
2 625.000 25.000 0.000 0.000 6976.00 0.090 0.004
3 1442.000 37.974 0.000 0.000 15936.00 0.090 0.002
# background-subtracted results
reg net_counts error background berror area surf_bri surf_err
---- ------------ --------- ------------ --------- --------- --------- ---------
1 147.000 12.124 0.000 0.000 1600.00 0.092 0.008
2 478.000 21.863 0.000 0.000 5376.00 0.089 0.004
3 817.000 28.583 0.000 0.000 8960.00 0.091 0.003
# the following source and background components were used:
source_region(s)
----------------
ann 512 512 0 9 n=3
reg counts pixels sumcnts sumpix
---- ------------ --------- ------------ ---------
1 147.000 25 147.000 25
2 478.000 84 625.000 109
3 817.000 140 1442.000 249
There are four tables in this output. To extract the last one, you can execute:
[sh] funcnts -s snr.ev "ann 512 512 0 9 n=3" | funtbl -n 4
1 147.000 25 147.000 25
2 478.000 84 625.000 109
3 817.000 140 1442.000 249
Note that the output has been re-formatted so that only a single space separates each column, with no extraneous header or comment informa-
tion.
To extract only columns 1,2, and 4 from the last example (but with a header prepended and tabs between columns), you can execute:
[sh] funcnts -s snr.ev "ann 512 512 0 9 n=3" | funtbl -c "1 2 4" -h -n 4 -s " "
#reg counts sumcnts
1 147.000 147.000
2 478.000 625.000
3 817.000 1442.000
Of course, if the output has previously been saved in a file named foo.out, the same result can be obtained by executing:
[sh] funtbl -c "1 2 4" -h -n 4 -s " " foo.out
#reg counts sumcnts
1 147.000 147.000
2 478.000 625.000
3 817.000 1442.000
SEE ALSO
See funtools(7) for a list of Funtools help pages
version 1.4.2 January 2, 2008 funtbl(1)