The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Adding specific text and spaces to each line in a text file hertingm Shell Programming and Scripting 4 08-25-2008 02:34 PM
extracting unique lines from text file soliberus Shell Programming and Scripting 3 08-22-2008 10:18 AM
extracting a set of strings from a text file Deanne Shell Programming and Scripting 2 09-20-2007 11:31 PM
Extracting data from text file based on configuration set in config file suparnbector Shell Programming and Scripting 3 08-10-2007 02:25 AM
Extracting specified line from a file using awk sirtrancealot Shell Programming and Scripting 3 07-15-2006 02:09 PM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-10-2008
Registered User
 

Join Date: May 2008
Posts: 10
Extracting a line in a text file

If my file looks like this….
10
20
30
and I want to take each line individually and put it in a variable so it can be read
later in it's on individual test statement, how can I do that? I guess what I'm asking is how can I extract each line individually.

Thanks

Last edited by terryporter51; 10-10-2008 at 05:31 PM..
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 10-10-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
 

Join Date: Feb 2007
Location: Innsbruck, Austria
Posts: 1,770
Hopefully this gives you an idea.

Code:
cat yourfile.txt | while read line ; do 
   if [ $line == 30 ] ;then 
     echo I hit 30
   fi
done
Reply With Quote
  #3 (permalink)  
Old 10-10-2008
vidyadhar85's Avatar
Moderator(The Tutor)
 

Join Date: Jun 2008
Location: INDIA
Posts: 1,190
you can extract each line by using simple while
Code:
while read line
do
echo "$line"
##do any operation on that line
done < filename
Reply With Quote
  #4 (permalink)  
Old 10-11-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
 

Join Date: Feb 2007
Location: Innsbruck, Austria
Posts: 1,770
We're both giving you essentially the same answer. When you mean "each line individually", do you mean you want each in its own variable? Bash3 supports arrays, so you could do it that way. If your file contains a fixed number of lines, say 3, you could do this:
Code:
cat yourfile.txt | {
  read line1
  read line2
  read line3

  # do stuff with line1 or line2 or line3
}
Reply With Quote
  #5 (permalink)  
Old 10-13-2008
Registered User
 

Join Date: May 2008
Posts: 10
I'm still having trouble stripping each line out so I can put it in it's on variable or text file.
i.e. I want 10 to be in a text file or set to a variable alone
20 set to be in a text file alone or in it's on variable and
30 set to be in a text file or set to it's on variable. I really want the position of the number because the number will change depending on the number of full tapes. Sorry guy's if this sound elementary all I want to do is grab which ever line I want 1-3 on call to my discretion.

Thx
Reply With Quote
  #6 (permalink)  
Old 10-13-2008
danmero danmero is offline Forum Advisor  
 

Join Date: Nov 2007
Location: 45.48-73.63
Posts: 901
Something like that:
Code:
eval $(awk '{print "line"NR"="$0}' file)
echo $line1
....
Reply With Quote
Google The UNIX and Linux Forums
Reply

Bookmarks

Tags
None

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:




All times are GMT -4. The time now is 08:28 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66