10-12-2009
parsing text three fields at a time
I'm programming in csh and I have a text file with hundreds of entries seperated only by spaces. I want to access three fields at a time (as each data set has three components) so that I can send these values to a different routine as three variables until every trio of values in the text file has been processed. The problem is I don't seem to have permission to use the 'read' or 'open' commands on my system (they aren't in my path or I can't copy them into my path because of permissions).
I tried creating an array: set temp = `cat file.txt` but then I can't figure out how to iterate through the array to get three values from it at once without "read" or "open" in a while loop...help? Once again, I'm pretty sure "read" and "open" aren't being recognized as commands.
When I try foreach line ($temp) it only references each individual entry and not a full line.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Can someone tell me how to do this using sed, awk, or any other basic shell scripting? Basically I have two text files with the following contained in each file:
File A:
a b c
d e f
g h i
File B:
1
2
3
I want the final outcome to look like this:
a b c 1
d e f 2
g h i 3
How... (3 Replies)
Discussion started by: shocker
3 Replies
2. Shell Programming and Scripting
I have a file that is large and is broken up by groups of data. I want to take certain fields and display them different to make it easier to read. Given input file below:
2008 fl01 LAC 2589 polk doal
xx 2008q1 mx
sect 25698541
Sales 08 Dept group
lead1 ... (8 Replies)
Discussion started by: timj123
8 Replies
3. Shell Programming and Scripting
Hi,
Currently I am coding up a nasty way of reading file input using *cat* rather than *read*. My text input looks like
TextA 100
TextB 110
TextC 120
Currently I am using cat |while read line to read the first column and second column fields.
cat foo.txt|while read line
do
... (1 Reply)
Discussion started by: ahjiefreak
1 Replies
4. Shell Programming and Scripting
Hello all,
I have some text formatted as follows
Name: John doe
Company:
Address 1: 7 times the headache
Address 2:
City: my city
State/Province: confusion
Zip/Postalcode: 12345
and I'm trying to figure out how I could extract the data after the colon so that the result would be ... (6 Replies)
Discussion started by: mcgrailm
6 Replies
5. Shell Programming and Scripting
I'm trying to write a script that will parse the output of the iostat command in real time and place the output in csv file(s). I do have a programming background, but am relatively new to shell so I'm having difficulties determining how to proceed.
The cpu stats will go into one output... (6 Replies)
Discussion started by: fastergrace
6 Replies
6. Shell Programming and Scripting
Hello
I have a file that contains 10 rows as below:
"ID" "DP"
"ID=GRMZM2G015073_T01" "23.6044288292005"
"ID=GRMZM2G119852_T01" "59.7782287606723"
"ID=GRMZM2G100242_T02" "61.4167813736184"
"ID=GRMZM2G046274_T01" "6.63061838134219"
"ID=GRMZM2G046274_T02" ... (5 Replies)
Discussion started by: cs_novice
5 Replies
7. Shell Programming and Scripting
Hello I am trying to develop a shell script that takes a text file such as this...
E-mail@ Soc.Sec.No. *--------Name-----------* Class *School.Curriculum.Major.* Campus.Phone
JCC2380 XXX-XX-XXXX CAREY, JULIE C JR-II BISS CPSC BS INFO TECH 412/779-9445
JAC1936 XXX-XX-XXXX... (7 Replies)
Discussion started by: crimputt
7 Replies
8. Shell Programming and Scripting
Hi All!
Is it possible to convert text file:
to:
? (6 Replies)
Discussion started by: y77
6 Replies
9. Shell Programming and Scripting
A record contains 50 fields separated by "~". I need to assign each of these fields to different variables. Following is the shell script approach I tried.
RECORD="FIELD1~FIELD2~FIELD3~FIELD4~FIELD5~...........~FIELD50"
VAR1=$(echo ${RECORD} | cut -d"~" -f 1)
VAR2=$(echo ${RECORD} | cut... (5 Replies)
Discussion started by: krishmaths
5 Replies
10. UNIX for Beginners Questions & Answers
I am trying to work on a script to grab the UTC time from a website
So far I was able to cobble this together.
curl -s --head web-url | grep ^Date: | sed 's/Date: //g'
Which gives me the result I need.
Wed, 06 Dec 2017 21:43:50 GMT
What I need to is extract the 21:43:50 and convert... (4 Replies)
Discussion started by: allisterB
4 Replies
LEARN ABOUT OPENDARWIN
foreach
foreach(n) Tcl Built-In Commands foreach(n)
__________________________________________________________________________________________________________________________________________________
NAME
foreach - Iterate over all elements in one or more lists
SYNOPSIS
foreach varname list body
foreach varlist1 list1 ?varlist2 list2 ...? body
_________________________________________________________________
DESCRIPTION
The foreach command implements a loop where the loop variable(s) take on values from one or more lists. In the simplest case there is one
loop variable, varname, and one list, list, that is a list of values to assign to varname. The body argument is a Tcl script. For each
element of list (in order from first to last), foreach assigns the contents of the element to varname as if the lindex command had been
used to extract the element, then calls the Tcl interpreter to execute body.
In the general case there can be more than one value list (e.g., list1 and list2), and each value list can be associated with a list of
loop variables (e.g., varlist1 and varlist2). During each iteration of the loop the variables of each varlist are assigned consecutive
values from the corresponding list. Values in each list are used in order from first to last, and each value is used exactly once. The
total number of loop iterations is large enough to use up all the values from all the value lists. If a value list does not contain enough
elements for each of its loop variables in each iteration, empty values are used for the missing elements.
The break and continue statements may be invoked inside body, with the same effect as in the for command. Foreach returns an empty string.
EXAMPLES
The following loop uses i and j as loop variables to iterate over pairs of elements of a single list. set x {} foreach {i j} {a b c d e f}
{
lappend x $j $i } # The value of x is "b a d c f e" # There are 3 iterations of the loop.
The next loop uses i and j to iterate over two lists in parallel. set x {} foreach i {a b c} j {d e f g} {
lappend x $i $j } # The value of x is "a d b e c f {} g" # There are 4 iterations of the loop.
The two forms are combined in the following example. set x {} foreach i {a b c} {j k} {d e f g} {
lappend x $i $j $k } # The value of x is "a d e b f g c {} {}" # There are 3 iterations of the loop.
SEE ALSO
for(n), while(n), break(n), continue(n)
KEYWORDS
foreach, iteration, list, looping
Tcl foreach(n)