Help with UNIX test and wc Command

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Help with UNIX test and wc Command
# 1  
Old 03-11-2017
Help with UNIX test and wc Command

I want to xheck if a file exists that uses wildcards as only the partial filename is known using the test Command, and when it exists then output just the number of lines in the file... do not include the filename. Then this output, is it captured by the CommandOutput or the ReturnValue as I want to use this value in another program?

Code:
Code:
 
 test -e /logs/error_logs/*PROC* && wc -l /logs/error_logs/*PROC* || echo No

When a file exists, this will display the #line + filename, i.e.:
650 logs/error_logs/03_2017_PROCESSED.log
I just want 650.

I tried
Code:
 
 test -e /logs/error_logs/*PROC* && wc -l < /logs/error_logs/*PROC* || echo No

But it displays the following message:
Code:
sh: /logs/error_logs/*PROC*: No such file or directory

and returns No.

TIA



Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 03-11-2017 at 12:43 PM.. Reason: Added CODE tags.
# 2  
Old 03-11-2017
The test -e delivers a meaningful result ONLY if it is supplied one single file name. wc -l with its input redirected will do the trick ONLY if the redirection is from one single file.
If theres NO matching file, you'll get above error msgs; if there's more than one, you'll get ambiguous redirect.

How about dropping the test and using like
Code:
wc -l 2>/dev/null <*PROC*  || echo NO
9

OR
Code:
wc -l 2>/dev/null <*PROC*  || echo NO
NO

Make sure the stderr redirection is prior to the input redir so error msgs disappear into nirvana.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 03-18-2017
Some shells might need braces to ensure the stderr redirection happens first and include the input redirection.?
Code:
{ wc -l <*PROC*; } 2>/dev/null || echo NO

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Ksh: Test UNIX command without $? everytime

Hello all, working on Solaris 10 in ksh. Basicly, in my function, i'm trying to test that all my unix cmd's are true (exit status 0) else you flag the rcControlRule to 1 without going into spagetti mode code testing every $? in a if statement. The mdb is probably a little tricky cause it... (3 Replies)
Discussion started by: maverick72
3 Replies

2. Shell Programming and Scripting

Test command in UNIX

Hi Team, -rwxr-xr-x 1 kmani00 system 9 Nov 08 03:29 tempfile.txt -rwxrwxrwx 1 kmani00 devgrp 0 Nov 08 03:32 testfile.txt by exec the following command, i did not get any output. > test -s tempfile.txt > a=`test -s tempfile.txt` > echo $a > by exec the... (4 Replies)
Discussion started by: kmanivan82
4 Replies

3. Shell Programming and Scripting

TEST Command

Hello, I need help with a test command. Here is what I am trying to do : I've got an interactive script that check if configuration files exist on 2 different directories, then all configuration files are print on screen by a short name. My problem is when you type a "wrong name" or... (12 Replies)
Discussion started by: Aswex
12 Replies

4. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

5. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

6. UNIX for Dummies Questions & Answers

Unix grep/test command

Hello, i have a script which checks if the user entered 8 numeric characters in the form of YYYYMMDD (birth date). If the user entered any non numeric characters, an error will be displayed: # Check to see if the 8 characters are all numbers # If not show error essage # And prompt user... (4 Replies)
Discussion started by: netmaster
4 Replies

7. Programming

Test command name

I'm very new to C and could use a little help. I'm testing to make sure the command is running as it's proper name, if not then fail. if (strcmp(argv, "xinit") != 0) { fprintf(stdout, "name = %s length = %d\n",argv,l); usage(0); } This works if the command is... (3 Replies)
Discussion started by: nck
3 Replies

8. Shell Programming and Scripting

Help with test command

Plese help me on the below query. for j in *.20071231* *.ctl *.dat do ( if then cp "$base/*.*" "$base1" fi ) done My requirement is for all files that has extension *.20071231* *.ctl *.dat should be copied to another folder. But those with caaa.20071231.log... (7 Replies)
Discussion started by: sussane
7 Replies

9. Shell Programming and Scripting

TEST command

I have been looking into searching various files to display output. The search criteria will be a month and year to output various numbers in the files. is there any way to do this with the TEST function or would it have to be another way? (4 Replies)
Discussion started by: amatuer_lee_3
4 Replies

10. UNIX for Dummies Questions & Answers

Unix Test

Hi, I just started studying AI at the university of amsterdam and I heard there is some basic UNIX test which is available online. Well, if any of you knows a link to that test I would truely appreciate it. Thanks a lot, L (1 Reply)
Discussion started by: L.A. BOSS
1 Replies
Login or Register to Ask a Question