How to start reading from the nth line till the last line of a file.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to start reading from the nth line till the last line of a file.
# 1  
Old 01-23-2012
How to start reading from the nth line till the last line of a file.

Hi,
For my reuirement, I have to read a file from the 2nd line till the last line<EOF>.

Say,
Code:
I have a file as test.txt, which as a header record in the first line followed by records in rest of the lines.
 
for i in `cat test.txt`
{
echo $i
}
 
While doing the above loop, I have read from the 2nd line till last line<EOF> skipping the 1st line (header)

Can someone please help in this?
# 2  
Old 01-23-2012
Maybe there is an easier/better/efficient way to do this. For the moment, try this:


Code:
grep -v `head -1 /tmp/test` /tmp/test

Here is the output:

Quote:
Test blah
Test BLah1
Test BLAH 2
my /tmp/test has the following lines:

Quote:
$ cat /tmp/test
##Header

Test blah
Test BLah1
Test BLAH 2
# 3  
Old 01-23-2012
Thanks!
# 4  
Old 01-23-2012
Much faster with "sed". Also by using "while read" rather than "for" we preserve each record intact:
Code:
sed -n '2,$ p' test.txt | while read line
do
         echo "${line}"
done

Note the double quotes round the string variable $line.
This User Gave Thanks to methyl For This Post:
# 5  
Old 01-23-2012
or awk:

Code:
awk 'NR>8' file | while read LINE
do
        ...
done

Also see useless use of cat and useless use of backticks. You should NOT be reading files by `cat`, that has many problems and corners.
This User Gave Thanks to Corona688 For This Post:
# 6  
Old 01-23-2012
Guys Thanks a lot!! Will no more use cat...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Reading a file line by line and print required lines based on pattern

Hi All, i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field. i am using centos 7 Operating system. want to read below file. # cat /tmp/d5 NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)
Discussion started by: balu1234
4 Replies

2. Shell Programming and Scripting

Printing string from last field of the nth line of file to start (or end) of each line (awk I think)

My file (the output of an experiment) starts off looking like this, _____________________________________________________________ Subjects incorporated to date: 001 Data file started on machine PKSHS260-05CP ********************************************************************** Subject 1,... (9 Replies)
Discussion started by: samonl
9 Replies

3. UNIX for Beginners Questions & Answers

Insert a line of text on nth line of a file

Hi All, I am using UNix Sun OS sun4u sparc SUNW,SPARC-Enterprise My intention is to insert a line of text after 13th line of every file inside a particular directory. While trying to do it for a single file , i am using sed sed '3 i this is the 4th line' filename sed: command garbled: 3... (5 Replies)
Discussion started by: gotamp
5 Replies

4. Shell Programming and Scripting

Bash script to read a file from particular line till required line and process

Hi All, Am trying to write wrapper shell/bash script on a utility tool for which i need to pass 2 files as arugment to execute utility tool. Wraper script am trying is to do with above metion 2 files. utility tool accepts : a. userinfo file : which contains username b. item file : which... (2 Replies)
Discussion started by: Optimus81
2 Replies

5. Shell Programming and Scripting

Reading line by line from live log file using while loop and considering only those lines start from

Hi, I want to read a live log file line by line and considering those line which start from time stamp; Below code I am using, which read line but throws an exception when comparing line that does not contain error code tail -F /logs/COMMON-ERROR.log | while read myline; do... (2 Replies)
Discussion started by: ketanraut
2 Replies

6. Shell Programming and Scripting

Reading text file, comparing a value in a line, and placing only part of the line in a variable?

I need some help. I would like to read in a text file. Take a variable such as ROW-D-01, compare it to what's in one line in the text file such as PROD/VM/ROW-D-01 and only input PROD/VM into a variable without the /ROW-D-01. Is this possible? any help is appreciated. (2 Replies)
Discussion started by: xChristopher
2 Replies

7. Shell Programming and Scripting

Reading a file after nth line

I know how to read a file line by line. But don't to how to skip to a line matching a criteria and then continue reading it till the end. This is a log file. The input is a timestamp. 1. Find the timestamp in the log file 2. Read the remaining lines one at a time till EOF. How can I do... (9 Replies)
Discussion started by: avinthm
9 Replies

8. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

9. Shell Programming and Scripting

Reading a file line by line and processing for each line

Hi, I am a beginner in shell scripting. I have written the following script, which is supposed to process the while loop for each line in the sid_home.txt file. But I'm getting the 'end of file' unexpected for the last line. The file sid_home.txt gets generated as expected, but the script... (6 Replies)
Discussion started by: sagarparadkar
6 Replies
Login or Register to Ask a Question