Things like -q are command specific, but if you want a silent test, just run the command into a variable:
Code:
cmd_oput=$( some_command args ... 2>&1 )
---------- Post updated at 10:51 AM ---------- Previous update was at 10:38 AM ----------
You can do file evaluation in one pass in shell, too, using file globbing metachar:
Code:
ct1=0 ct2=0 ct3=0 ct4=0
while read l
do
case "$l" in
(*"Schema Area"*)
(( ct1++ ))
;;
esac
case "$l" in
(*stock*)
(( ct2++ ))
;;
esac
case "$l" in
(*route_drop*)
(( ct3++ ))
;;
esac
case "$l" in
(*test123*)
(( ct4++ ))
;;
esac
done < in_file
# process counts $ct1-4 to determine response
Hi all,
I have an input file that I am pulling out certain phases using the following commands:
cat /nodes.txt | egrep -e 'OSVersion|PrimaryNodeName'
Currently the output looks like this:
OSVersion - 5.0
PrimaryNodeName - serverA
OSVersion - 5.0
PrimaryNodeName - serverB
OSVersion... (2 Replies)
Hi,
I want to return failure from my script if a string is NOT found in a file, but I can't work out how to negate my "if". At the moment I have :
if (egrep -i 'search string' filetosearch); then
echo "found"
else
return 2
fi
How can I get rid of the echo bit and just test for "string... (4 Replies)
Dear Friends,
I have a command which can result following output.
Packet is: /var/adm/yyyy/pkt6043
Intended for network : /vob/repo
I would like to retrive
pkt6043 and /vob/repo using single command.
Blue color test will be always contstant and red color text will be dynamic
... (2 Replies)
I have the following script that searches in several files and shows the search results and the matches filename on the screen.
find . -exec egrep -wH "word1|word2" {} \;
the output from the search display as:
file1
word1
word2
I need to show each file search output result on new... (5 Replies)
Attached is the exact ouput of a vmware VDR log file I am working with but what I am trying to achieve is as follows:
I need to output sections of the file using the string "Normal backup" as the start and "Duration" as the end to seperate files so I can then manipulate them further to create... (2 Replies)
Hi,
I am newbie in shell programming and I need some help.
I had some data and I format it in a file like
dn: uid=aaaaa, dc=exmple, dc=com
cn: bbbb cccc
sn: cccc
telephoneNumber:+30-6543-123456
I have to extract the information aaaaa , bbbb, cccc and the phone number
using awk... (3 Replies)
Hello all,
after spending hours of searching the web I decided to create an account here. This is my first post and I hope one of the experts can help.
I need to resolve a grep / sed / xargs / awk problem.
My input file is just like this:
----------------------------------... (6 Replies)
The order of egrep output seems to be as they occur in the file. How do I get the order as requested? For e.g.
file contents:
AAA
EEE
GGG
egrep 'GGG|AAA|EEE' file
gives
AAA
EEE
GGG
instead of
GGG
AAA
EEE (2 Replies)
If I have an output from egrep that has two elements on separate lines can I concatenate them? so the egrep for examople might be:
egrep "filename|type"
And the actual output might be:
./file001.doc
Type Text Document
How do I get the egrep to remove the line feed so the output is:
... (5 Replies)
Dear community,
I am trying for several hours now to create an egrep command to grep the number of lines containing a specific text from a text-file but seem to have an error somewhere.
The Textfile contains several thousand lines and has the expression "Lastname" in several lines.... (3 Replies)
Discussion started by: Donzo
3 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS --debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)