03-19-2009
Problems with syntax in a loop (AWK)
Hi guys,
I'm trying to loop through a number of files that is set by whatever is in a field.
eg.
Quote:
FILELIST="file1.txt|file2.txt|file3.txt"
FILESFOUND=`echo $FILELIST | awk -F\| '{ print NF }'`
echo "Files to process = $FILESFOUND"
for i in {1..$FILESFOUND}
do
echo $FILELIST | awk -F\| {'print $i'}
done
The idea is to split FILELIST down into fields, it could contain 1 - 999 fields and it's bar delimited.
I thought simple, count the number of fields in the field and then loop through each and output them, but no, awk kicks out an error
awk: 0602-562 Field $() is not correct.
Any help would be appreciated.
Cheers
PJ
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i don't get what's wrong here. i'm writing a shell script that takes 1 argument (a number) from the command-line, but it's throwing an error:
Syntax error: Bad for loop variable
doesn't make much sense
for (( i = 1; i = ${1}; i++ )) # error points to this line everytime
do
echo... (9 Replies)
Discussion started by: visitorQ
9 Replies
2. Shell Programming and Scripting
Hi everyone,
Can ny1 help me out regarding while loop arguments
i.e. what does
-gt
-ge
-lt
-le
means?
actually i am new to while loops (2 Replies)
Discussion started by: jojo123
2 Replies
3. Shell Programming and Scripting
I'm an experienced programmer that is new to shell scripting. I'm putting together a shell script that erases all files of a certain age. These files are in directories provided on lines of a file that is provided via command line argument and takes any errors(permissions, etc) and emails them to a... (3 Replies)
Discussion started by: drew2002
3 Replies
4. Shell Programming and Scripting
hi,
I have to use for loop in my script. The below code is providing an output,
1,2,3,4,5..n. But i need to display the values one by one eg: it has to display the first value then exit from the loop and display the second value then exit till n(last value).
for i in 1,2,3,4,5..n
do ... (2 Replies)
Discussion started by: sreelu
2 Replies
5. UNIX for Dummies Questions & Answers
%%%%% (3 Replies)
Discussion started by: lucasvs
3 Replies
6. Shell Programming and Scripting
I am trying to run a menu option though IF loops. I keep getting errors not allowed the menu to be processed correctly. Currently it will accept the first 2 statements but then crash on the 3rd. The 2nd and 3rd have the same syntax, so I do not understand why it breaks.
#!/bin/bash
while... (4 Replies)
Discussion started by: Ironguru
4 Replies
7. Shell Programming and Scripting
Hi there
I am really struggling :eek: to place a value in a variable with the following loop, having run out of ideas please can someone point me in the right direction?
We first read two PIDs of a program (say calc) into an array, then we loop reading the details of those processes into a... (6 Replies)
Discussion started by: nathan.harris
6 Replies
8. Shell Programming and Scripting
Hi there
As part of a larger script I need to put the output of an ls into a variable which has an incremental number.
ie
nathan@nathan-Vostro-1700:~$ eval 'proc'$val='`ls -ld /proc/9467`'
nathan@nathan-Vostro-1700:~$ echo $proc0
dr-xr-xr-x 8 nathan nathan 0 2012-05-02 09:21... (3 Replies)
Discussion started by: nathan.harris
3 Replies
9. UNIX for Dummies Questions & Answers
can some one please tell me what is the problem with my syntax:confused:
I have 100 files in one folder
1. want to read each of the line by line
2. calculate their number of the words between the first word and the last word of each line
3. create file for each file with number of words... (8 Replies)
Discussion started by: A-V
8 Replies
10. Shell Programming and Scripting
I have a shell script which has this while loop line
"while read tblName xx; do..."
I understand how while loop works but don't know what does this xx stands for? (1 Reply)
Discussion started by: later_troy
1 Replies
MERGE(1) General Commands Manual MERGE(1)
NAME
merge - three-way file merge
SYNOPSIS
merge [ options ] file1 file2 file3
DESCRIPTION
merge incorporates all changes that lead from file2 to file3 into file1. The result ordinarily goes into file1. merge is useful for com-
bining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are modifications of file2. Then merge
combines both changes.
A conflict occurs if both file1 and file3 have changes in a common segment of lines. If a conflict is found, merge normally outputs a
warning and brackets the conflict with <<<<<<< and >>>>>>> lines. A typical conflict will look like this:
<<<<<<< file A
lines in file A
=======
lines in file B
>>>>>>> file B
If there are conflicts, the user should edit the result and delete one of the alternatives.
OPTIONS
-A Output conflicts using the -A style of diff3(1), if supported by diff3. This merges all changes leading from file2 to file3 into
file1, and generates the most verbose output.
-E, -e These options specify conflict styles that generate less information than -A. See diff3(1) for details. The default is -E. With
-e, merge does not warn about conflicts.
-L label
This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict
reports. That is, merge -L x -L y -L z a b c generates output that looks like it came from files x, y and z instead of from files
a, b and c.
-p Send results to standard output instead of overwriting file1.
-q Quiet; do not warn about conflicts. -V Print 's version number.
DIAGNOSTICS
Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble.
IDENTIFICATION
Author: Walter F. Tichy.
Manual Page Revision: 5.7; Release Date: 1995/06/01.
Copyright (C) 1982, 1988, 1989 Walter F. Tichy.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
SEE ALSO
diff3(1), diff(1), rcsmerge(1), co(1).
BUGS
It normally does not make sense to merge binary files as if they were text, but merge tries to do it anyway.
GNU
1995/06/01 MERGE(1)