The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
Google UNIX.COM


UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
ls -laR | grep "^-" | awk '{print $9}'| grep "$.txt" DNAx86 Shell Programming and Scripting 13 04-17-2008 08:53 PM
Development Releases: Linux Mint 4.0 Beta "Fluxbox", 4.0 Alpha "Debian" iBot UNIX and Linux RSS News 0 01-04-2008 12:00 PM
Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`" Lokesha UNIX for Dummies Questions & Answers 4 12-19-2007 10:52 PM
grep to find content in between curly braces, "{" and "}," keshav_rk Shell Programming and Scripting 4 08-09-2007 07:14 PM
How to "Print Screen" from a dumb terminal on AIX? stembe UNIX for Advanced & Expert Users 3 11-15-2002 09:01 AM

Closed Thread
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1  
Old 04-10-2002
Registered User
 

Join Date: Apr 2002
Location: oman
Posts: 25
Print The ouput From ls | grep "!!!"

guys forget the find command coz with find command u can't get condational output like grep. I will give small example :-


Apr 10 09:12 aacbl222_12aug1998.lqc
Apr 10 09:12 sscbl4534_4sep2001.lqc
Apr 10 09:12 ah66fmi_5jan1997.lqc
Apr 10 09:12 y313h1_7sep1998.lqc
May 11 09:12 aalike_9aug2000.lqc

all this files and thosands more in /test/test2
to get my file I should give some parameter " in this example I give 2 gre some time it will take more than 6 grep's to get what I want " forget it "
--------------------------------------------------

ls -lrt | grep "Apr 10" | grep 1998

Apr 10 09:12 y313h1_7sep1998.lqc
Apr 10 09:12 aacbl222_12aug1998.lqc

--------------------------------------------------

now when I want to print what I got from my command I will do this : -

print y313h1_7sep1998.lqc ; print aacbl222_12aug1998.lqc

when I type

ls -lrt | grep "Apr 10" | grep 1998 | lp
I will get the printe of result not the file it self...Pleassse try to understand me and execuse me for my "GOOD" english

Better to read all what I wrote above or just read this

[ HOW I CAN PRINT THE RESULTED FILES AS A FILE NOT AS OUTPUT ]
Forum Sponsor
  #2  
Old 04-10-2002
Registered User
 

Join Date: Sep 2001
Posts: 36
Havent I already answered the question?..

Or Was the command unsuccessful?
  #3  
Old 04-10-2002
Registered User
 

Join Date: Mar 2002
Location: Muenster - Germany
Posts: 22
The answer is...

pipe the output in a file

ls > FILE.txt

creates or if exists overwrites the file FILE.txt and stores the output of the ls command in it.

ls >> FILE.txt appends the output of the command if the file exists or create a new one if not


hope this solves your problem




see the other thread as well

Frank
  #4  
Old 04-10-2002
Registered User
 

Join Date: Apr 2002
Location: oman
Posts: 25
COME ON GUYS

Please try to understand me

ls | grep "bla bla bla" >> result.txt

ok I will get the result in result.txt as u said then I want to print the files, don't tell me to print result.txt coz I will get in name of the file in the print out and I want to print the information inside the file.It's very simple please don't make me feel my english toooo BAD & unix As well

what I want is the fastest way to print multipul files

what I'm using right now is

print file1 ; print file2 ; print file3 ; print file4
  #5  
Old 04-10-2002
LivinFree's Avatar
Goober Extraordinaire
 

Join Date: Jul 2001
Location: Portland, OR, USA
Posts: 1,584
Please please read this carefully and try it out before deciding it won't work, because as far as I can tell, it will!

I think that if you can figure out exactly what you are needing to do (which files to print, and when), you could use a very simple find command to do it.
But if you really really really want to use grep a bunch of times, you could do this:
Code:
ls -ltr | grep "Apr 10*1998.lqc" > /tmp/lp_file
print `cat /tmp/lp_file`
or use:
Code:
for each in `cat /tmp/lp_file`; do print $each; done
Note: I used backticks ` not single quotes ' above. The backticks are usually near the top left on a standard PC keyboard.

Or like this (if you can narrow what you want down by the filename):
Code:
for each in *sep2001.lcq; do; print $each; done
Or what about :
Code:
ls -lrt | grep "Apr 10*1998.lqc" | xargs print
Some of these may complain of an error with too many arguments, or possibly that the jobs may not all print, so you may have to use the first/second idea of:
Code:
ls -lrt | grep "Apr 10*1998.lcq" > /tmp/lp_list
for each in `cat /tmp/lp_list; do print $each; done
These examples all assume you are using a Bourne shell variant, such as ksh, sh, bash, etc...

Please try these before posting back saying that none of them work. And please let us know why they don't work.
  #6  
Old 04-11-2002
Kelam_Magnus's Avatar
Registered User
 

Join Date: Aug 2001
Location: DFW McKinney, TX,
Posts: 1,069
Or even the basic step of taking the file.txt and adding print in the beginning of each line in the file and making it exe.

I know this is horrible scripting, but it works.

I agree that one of Livinfree's suggestions will work. see below his code.

code:
--------------------------------------------------------------------------------
for each in `cat /tmp/lp_file`; do print $each; done
--------------------------------------------------------------------------------
__________________
My brain is your brain
Google The UNIX and Linux Forums
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes




All times are GMT -7. The time now is 09:32 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0