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 here. Shell Script Page.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Lines too long error thana UNIX for Dummies Questions & Answers 2 05-09-2008 06:12 AM
long runnning processes more than one hour not able to see in ps -ef command shyam soni Shell Programming and Scripting 4 03-01-2008 08:46 AM
removing lines in a too long file Goodfella UNIX for Dummies Questions & Answers 4 02-04-2008 05:37 AM
Finding out how long a command takes to run cfoxwell UNIX for Dummies Questions & Answers 3 11-21-2001 09:50 PM
entering a long command hedrict UNIX for Dummies Questions & Answers 1 06-29-2001 06:31 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-22-2002
Registered User
 

Join Date: May 2002
Posts: 1
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Question Re: Long command lines

Hello,

AIM: Need to test for the presence of some files (*.F) in a certain directory.

having a problem with this line is ksh:

if test `ls $SOMEDIR/dir/*.F \
2>/dev/null|wc -w` -eq 0

Basically testing for the presence of *.F files in the specified directory. If the return code from 'wc -w' is equal to 0 then no *.F exist

BUT, ls can fail if the command line is too long.
Fails with ..
sh-42 sh: arg list too long.

Could use the find command:

find $SOMEDIR/dir/*.F

along with the word count stuff, but then find is recursive and searches lower subdirectories (which I dont want). I cant find a command / option to use with 'find' to force it to only search that dir.
Any idea

Thanks in advance
E.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-22-2002
Registered User
 

Join Date: Feb 2002
Location: Bradford, UK
Posts: 70
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
The option "-level 0" should limit it to the one directory
Reply With Quote
  #3 (permalink)  
Old 05-22-2002
Perderabo's Avatar
Unix Daemon
 

Join Date: Aug 2001
Location: Washington DC Area
Posts: 8,253
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
But few versions of find have that -level 0 option.

I would do:
cd somedir
ls | grep \\.F\$ | wc -l
to get a count of the *.F files. Then just compare that number to zero.
Reply With Quote
  #4 (permalink)  
Old 05-22-2002
Registered User
 

Join Date: Feb 2002
Location: Bradford, UK
Posts: 70
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Sorry didn't know that. I'm only used to SCO.
Reply With Quote
  #5 (permalink)  
Old 05-22-2002
Kelam_Magnus's Avatar
Unix does a body good.
 

Join Date: Aug 2001
Location: DFW McKinney, TX,
Posts: 1,069
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
find will work...

You can use find if you use the -prune and/or -only options for find. I see prune is in the UNIX Nutshell book, but the -only option may not be available in some OSs.

They can help you limit your search parameters and prevent recursive directory searches.

if `find . -name "*.F" -prune -only 2>/dev/null |wc -l` -eq 0

This will only search the current direcory and give your comparison.


__________________
My brain is your brain
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash exec bash for loop command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix export command in unix find grep find mtime find null character in a unix file grep multiple lines grep or grep recursive hp-ux ifconfig inaddr_any inappropriate ioctl for device lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude tar extract to folder test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute vi+substitute+end+of+line+character while loop within while loop shell script


All times are GMT -7. The time now is 04:10 AM.


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

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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101