file feed one line per argument


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers file feed one line per argument
# 8  
Old 10-08-2001
wow, thanks. that's getting there, but the -z won't allow for empty fields, which i think are legal, like this line:

ups::respawn:rtprio 0 /usr/lbin/ups_mond -f /etc/ups_conf

doesn't a blank in the runlevel field indicate this should run at all run levels?
# 9  
Old 10-09-2001
Quote:
Originally posted by jpprial
wow, thanks. that's getting there, but the -z won't allow for empty fields, which i think are legal, like this line:

ups::respawn:rtprio 0 /usr/lbin/ups_mond -f /etc/ups_conf
Yeah, that line is legal and my code will not reject it. It this case nf will be 3 because there are 3 non-empty fields. Only records where nf is 0 are discarded, these are blank lines.


Quote:
Originally posted by jpprial
doesn't a blank in the runlevel field indicate this should run at all run levels? [/B]
If you leave this field empty, it is the same as specifying "0123456", which means that it will not run in run level s.
# 10  
Old 10-09-2001
I see that it works. But somehow I have to count the empty fields, to make sure that there are 4 fields, empty or not. I tried adding an "or" to the test statement (for fields 2 and 4, which can be blank), like this:

[[ ! -z $rstate -o -z $rstate ]] && ((nf=nf+1))

but it complains about the -o option.

This is the test I put for length of id field,
thanks again.

idlength=${#id}

if [ $idlength -ne 0 -a $idlength -le 4 ]; then
:
else
echo "id field must be from 1 to 4 characters"
fi

I also need some way to put the line number of a failing line into an echo statement...
# 11  
Old 10-09-2001
Quote:
Originally posted by jpprial

[[ ! -z $rstate -o -z $rstate ]] && ((nf=nf+1))

but it complains about the -o option.
Don't do that. The nf stuff is to detect completely blank lines. If you really wanted to unconditionally increment nf at this point, there is no need to add a test that cannot fail. ((nf=nf+1)) could be used all by itself. Add with ksh [[ or it handled by | not -o.

If you don't care whether or not the field rstate has something, just don't test it. Instead, test the stuff you do care about. You are already checking the id field for the number of characters. That leaves the action field. You can just add a "if [[ -z $action ]]" or maybe you'd rather get the length of the action field and see if it's non-zero.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk issue splitting a fixed-width file containing line feed in data

Hi Forum. I have the following script that splits a large fixed-width file into smaller multiple fixed-width files based on input segment type. The main command in the script is: awk -v search_col_pos=$search_col_pos -v search_str_len=$search_str_len -v segment_type="$segment_type"... (8 Replies)
Discussion started by: pchang
8 Replies

2. Shell Programming and Scripting

Want to remove a line feed depending on number of tabs in a line

Hi! I have been struggling with a large file that has stray end of line characters. I am working on a Mac (Lion). I mention this only because I have been mucking around with fixing my problem using sed, and I have learned far more than I wanted to know about Unix and Mac eol characters. I... (1 Reply)
Discussion started by: user999991
1 Replies

3. Shell Programming and Scripting

Help in removing control M and Line feed in output file.

Hi All, In my output file i am getting control m character and also the line feeds at different places and with different combinations, the content of the file is supposed to be in a single line but if there is a line feed in between then from there onwards it's going into new line. I tried... (7 Replies)
Discussion started by: Bipin Kumar
7 Replies

4. Shell Programming and Scripting

Delete a specific line from the feed file

Hi All, I have came across an issue where I will grep for a primary key and then I have to delete that particular line from the feed file and then save it. The feed file is a TAB delimited one. For example: grep 539439AE9 file1 100.00000 20090119 20090119 20090521 ... (4 Replies)
Discussion started by: filter
4 Replies

5. Shell Programming and Scripting

Remove line feed from csv file column

Hi All, i have a csv file . In the 7th column i have data that has line feed in it. Requirement is to remove the line feed from the 7th column whenever it appears There are 11 columns in the file C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 The value in C7 contains line feed ( Alt + Enter ),... (2 Replies)
Discussion started by: r_t_1601
2 Replies

6. Shell Programming and Scripting

Remove line feed from csv file column

Hi All, My requirement is to remove line (3 Replies)
Discussion started by: r_t_1601
3 Replies

7. Shell Programming and Scripting

Get the 1st 99 characters and add new line feed at the end of the line

I have a file with varying record length in it. I need to reformat this file so that each line will have a length of 100 characters (99 characters + the line feed). AU * A01 EXPENSE 6990370000 CWF SUBC TRAVEL & MISC MY * A02 RESALE 6990788000 Y... (3 Replies)
Discussion started by: udelalv
3 Replies

8. Shell Programming and Scripting

replace last form feed with line feed

Hi I have a file with lots of line feeds and form feeds (page break). Need to replace last occurrence of form feed (created by - echo "\f" ) in the file with line feed. Please advise how can i achieve this. TIA Prvn (5 Replies)
Discussion started by: prvnrk
5 Replies

9. Shell Programming and Scripting

Unable to display correctly the contents of a file without a line feed

I am using AIX and ksh. I need to display the contents of a file that has a pid (process id). Because the file is open, it doesn't have the line feed or new line, so for some reason if I do this: `cat $pid` , where $pid is the name of the fully qualified file, it displays test3.sh: 426110:... (1 Reply)
Discussion started by: Gato
1 Replies

10. Shell Programming and Scripting

Removing Carriage Return and or line feed from a file

Hello I'm trying to write a shell script which can remove a carriage return and/or line feed from a file, so the resulting file all ends up on one line. So, I begin with a file like this text in file!<CR> line two!<CR> line three!<CR> END!<CR> And I want to end up with a file... (1 Reply)
Discussion started by: tbone231
1 Replies
Login or Register to Ask a Question