Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Foreach loop that skips the header line of a file (csh) Post 302564047 by Corona688 on Wednesday 12th of October 2011 05:02:23 PM
Old 10-12-2011
That's a useless use of backticks and, if you'd managed to get it to work at all, would have been a useless use of cat too. That's a ticking timebomb in a variety of ways -- if your file's bigger than 4K that loop will blow up on many systems. If your data ever might have spaces in it, it will occasionally split in places you didn't want it to. And on.

while read is safer and more efficient.

Code:
exec 5<filename # Open file into FD 5
read SKIP # Read and ignore the first line from FD 5

while read LINE
do
...
done <&5 # Read from FD 5
exec 5<&- # Close FD 5

This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove header(first line) and trailer(last line) in ANY given file

Hi, I need some help in removing the header (first line) and the trailer (last line) in a give file... The data file actually comes in EBCDIC format and I converted it into ASCII.. Now I need to strip off the first line and the last line.. I think we can use sed to do something like this:... (2 Replies)
Discussion started by: madhunk
2 Replies

2. Shell Programming and Scripting

why read line skips some lines...

Dear Guru: This has got to be a difficult question, as I've worked on it for a good amount of time now & still puzzled... So here is the simplified logic in my code: while read LINE do #install a pkg with the name extracted from this line install_pkg name done <... (8 Replies)
Discussion started by: bluemoon1
8 Replies

3. Shell Programming and Scripting

foreach loop

Hi Guys, I have a loop which uses a wildcard i.e. foreach f (*) but when I execute the tcsh file in unix then it gives me an error ->>>>>>>foreach: words not parenthesized<<<<<<<<<<- Any help. (1 Reply)
Discussion started by: abch624
1 Replies

4. Shell Programming and Scripting

foreach loop

Hi everyone Does anyone know what is wrong with this script. i keep getting errors foreach filename (`cat testing1`) set string=$filename set depth=`echo "$string" echo $depth end the error is the following testing: line 1: syntax error near unexpected token `(' testing: line 1:... (3 Replies)
Discussion started by: ROOZ
3 Replies

5. Shell Programming and Scripting

Help with csh, read in a file line by line

I want to process some audio with: sox $audio1 $audio2 trim $start_time $dur How can I batch process them by read in a file containing the values for the variables above on every line, like: 1.wav 1.5 1 2.wav 2.5 2 ... I tried "foreach f (`cat file`)" but cannot read in line by line, and... (3 Replies)
Discussion started by: dustinwang2003
3 Replies

6. Shell Programming and Scripting

foreach in csh

I have a foreach loop in a csh script and I noticed that it tries to find the files with the pattern *$searchpt* in the file name. I'm confused as I never specified checking for the files. foreach f ( *$searchpt* ) set fnew = `echo $f | awk -v searchpat=$searchpt \ ... (1 Reply)
Discussion started by: kristinu
1 Replies

7. Shell Programming and Scripting

How to loop(Iterate) through List with foreach(csh)

Hey all,, I know cshell is harmful:) but I am using this just "to know" - for educational purposes!... not for a long-term use. lets say i have a list.. set arr=(x y z e f) I wanna iterate the list with foreach ,, not with while.!! foreach i $arr echo $i end does not work (2 Replies)
Discussion started by: eawedat
2 Replies

8. UNIX for Dummies Questions & Answers

foreach loop in csh

Hi everyone I'm new to unix and encountered a small problem i couldnt find out a reason why it doesn't work..please help.. in my csh script when i tried to use the foreach loop like this: foreach x ( ls ) echo $x end when i tried to run it, it printed out 'ls' to the std out instead of... (3 Replies)
Discussion started by: ymc1g11
3 Replies

9. UNIX for Dummies Questions & Answers

Foreach loop through subdirectories in csh

Hi You might find it very trivial but actually don't know how to loop through all sub-directories and their child directories into a csh. bash was easier I believe but here I am, stuck with csh. So elaborately here's my problem: Let's say I have my parent directory named C-H/ under which I have... (15 Replies)
Discussion started by: saleheen
15 Replies

10. Shell Programming and Scripting

Foreach: Words not parenthesized. csh

Just started shell scripting for the first time today :D Can anyone tell me why I get the error "foreach: Words not parenthesized." for my following code? The program takes in a list of arguments. foreach card ($argv) echo Hello end (3 Replies)
Discussion started by: pkuebler
3 Replies
Mojo::URL(3pm)						User Contributed Perl Documentation					    Mojo::URL(3pm)

NAME
Mojo::URL - Uniform Resource Locator SYNOPSIS
use Mojo::URL; # Parse my $url = Mojo::URL->new('http://sri:foobar@kraih.com:3000/foo/bar?foo=bar#23'); say $url->scheme; say $url->userinfo; say $url->host; say $url->port; say $url->path; say $url->query; say $url->fragment; # Build my $url = Mojo::URL->new; $url->scheme('http'); $url->userinfo('sri:foobar'); $url->host('kraih.com'); $url->port(3000); $url->path('/foo/bar'); $url->path('baz'); $url->query->param(foo => 'bar'); $url->fragment(23); say $url; DESCRIPTION
Mojo::URL implements a subset of RFC 3986 and RFC 3987 for Uniform Resource Locators with support for IDNA and IRIs. ATTRIBUTES
Mojo::URL implements the following attributes. "authority" my $authority = $url->authority; $url = $url->authority('root:pass%3Bw0rd@localhost:8080'); Authority part of this URL. "base" my $base = $url->base; $url = $url->base(Mojo::URL->new); Base of this URL. "fragment" my $fragment = $url->fragment; $url = $url->fragment('foo'); Fragment part of this URL. "host" my $host = $url->host; $url = $url->host('127.0.0.1'); Host part of this URL. "port" my $port = $url->port; $url = $url->port(8080); Port part of this URL. "scheme" my $scheme = $url->scheme; $url = $url->scheme('http'); Scheme part of this URL. "userinfo" my $userinfo = $url->userinfo; $url = $url->userinfo('root:pass%3Bw0rd'); Userinfo part of this URL. METHODS
Mojo::URL inherits all methods from Mojo::Base and implements the following new ones. "new" my $url = Mojo::URL->new; my $url = Mojo::URL->new('http://127.0.0.1:3000/foo?f=b&baz=2#foo'); Construct a new Mojo::URL object. "clone" my $url2 = $url->clone; Clone this URL. "ihost" my $ihost = $url->ihost; $url = $url->ihost('xn--bcher-kva.ch'); Host part of this URL in punycode format. # "xn--da5b0n.net" Mojo::URL->new('http://X.net')->ihost; "is_abs" my $success = $url->is_abs; Check if URL is absolute. "parse" $url = $url->parse('http://127.0.0.1:3000/foo/bar?fo=o&baz=23#foo'); Parse URL. "path" my $path = $url->path; $url = $url->path('/foo/bar'); $url = $url->path('foo/bar'); $url = $url->path(Mojo::Path->new); Path part of this URL, relative paths will be appended to the existing path, defaults to a Mojo::Path object. # "http://mojolicio.us/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo')->path('/DOM/HTML'); # "http://mojolicio.us/perldoc/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo')->path('DOM/HTML'); # "http://mojolicio.us/perldoc/Mojo/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo/')->path('DOM/HTML'); "query" my $query = $url->query; $url = $url->query(replace => 'with'); $url = $url->query([merge => 'with']); $url = $url->query({append => 'to'}); $url = $url->query(Mojo::Parameters->new); Query part of this URL, defaults to a Mojo::Parameters object. # "2" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query->param('b'); # "http://mojolicio.us?a=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query(a => 2, c => 3); # "http://mojolicio.us?a=2&b=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query([a => 2, c => 3]); # "http://mojolicio.us?b=2" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query([a => undef]); # "http://mojolicio.us?a=1&b=2&a=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query({a => 2, c => 3}); "to_abs" my $abs = $url->to_abs; my $abs = $url->to_abs(Mojo::URL->new('http://kraih.com/foo')); Clone relative URL and turn it into an absolute one. "to_rel" my $rel = $url->to_rel; my $rel = $url->to_rel(Mojo::URL->new('http://kraih.com/foo')); Clone absolute URL and turn it into a relative one. "to_string" my $string = $url->to_string; Turn URL into a string. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::URL(3pm)
All times are GMT -4. The time now is 11:21 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy