07-25-2019
Quote:
Originally Posted by
mohtashims
I was looking for the solution proposed by @Corona688. However, if the last arguments '-c' does not have any value associated which is fine; the script fails and displays the helpFunction. I want -c to be optional with or without a value. So, '-c' or '-c<args>' both should work.
I don't think the builtin
getopts allows for optional arguments, unfortunately. If you are on a GNU system and have access to the external GNU version of
getopt you can have optional arguments to one or more of your options, but I believe
getopt is considered deprecated. Its usage is also inconsistent with that of
getopts.
Andrew
10 More Discussions You Might Find Interesting
1. Programming
Hi,
while compiling my c++ program, I get the following Message:
/usr/include/iso/math_iso.h", line 84: Error: No direct declarator preceding "("
Does anybody know this?
Thanks
Nik (1 Reply)
Discussion started by: nik
1 Replies
2. Shell Programming and Scripting
Hi,
I am looking for a way to find a particular word in a file then print a line that precedes this line, as well as this line.
Sometimes in a log file there is only one word per line and I need to print one of the lines leading up to the single worded line.
Example - I can grep for ouch... (5 Replies)
Discussion started by: g_jumpin
5 Replies
3. Shell Programming and Scripting
Ok
Suppose I have a log file like the below:
2010-07-15 00:00:01,410 DEBUG
2010-07-15 00:01:01,410 DEBUG
2010-07-15 00:01:02,410 DEBUG com.af ajfajfaf affafadfadfd dfa fdfadfdfadfadf
fafafdfadfdafadfdaffdaffadf
afdfdafdfdafafd error
error failure afdfadfdfdfdf
EBUDGG eafaferror failure... (6 Replies)
Discussion started by: SkySmart
6 Replies
4. Shell Programming and Scripting
Hi
Following is an example line.
echo "192.22.22.22 \"33dffwef\" 200 300 dsdsd" | sed "s:\(\ *\ \):\1:"
I want it's output to be
200
However this is not the case. Can you tell me how to do it? I don't want to use AWK for this. Secondly, how can i fetch just 300? Should I use "\2"... (3 Replies)
Discussion started by: shahanali
3 Replies
5. Shell Programming and Scripting
Hello,
I have an xml file whose contacts are like below:
<Node>Apple
<B>Value1</B>
<B>Value2</B>
<B>Value3</B>
</Node>
<Node>Mango
<B>Value1</B>
<B>Value2</B>
<B>Value3</B>
</Node>
<Node>Apple
<B>Value1</B>
<B>Value2</B>
<B>Value3</B>
</Node>
<Node>Bannana (3 Replies)
Discussion started by: umarsatti
3 Replies
6. Shell Programming and Scripting
Gurus:
How can I transpose the output below to a format in which I can plot a graph to show VSZ memory usage by PIDs?
stdout:
Tue Jan 22 07:29:19 CUT 2013
42336296 1841272 java wilyadm
21889232 438616 jlaunch sidadm
42532994 414336 jlaunch sidadm
Tue Jan 22 07:49:20 CUT 2013... (1 Reply)
Discussion started by: ux4me
1 Replies
7. Shell Programming and Scripting
Hi,
Is this possible? I want to take a csv file and find the closest value in another csv file preceding it and following it.
For ex. In this csv file, I'll take the first line:
1309341156.800000000
1309341156.802500000
1309341156.805000000
1309341156.807500000
and find the closest... (2 Replies)
Discussion started by: superbbrr
2 Replies
8. Linux
I have a file that looks like this,
P38112 Q12389; Q03532; P43586; Q08208; P37838; P40693; P38805
Q12389 P32892; P36049; Q03532; P43586; Q12176; P38112; P39744; P37838
P11154 P39940
P50094 P50095
P32892 Q12389; Q04660; P43586; P37838; P40693
Q05022 Q08235; Q12176; P39744
P40347 P32333... (2 Replies)
Discussion started by: Syeda Sumayya
2 Replies
9. Shell Programming and Scripting
Hi,
I have some data like below:
John 254
Chris 254
Matt 123
Abe 123
Raj 487
Moh 487
How can i print it using awk to have:
254 John,Chris
123 Matt,Abe
487 Raj,Moh
Thanks. (4 Replies)
Discussion started by: james2009
4 Replies
10. Shell Programming and Scripting
Hello.
Here is a file contents :
declare -Ax NEW_FORCE_IGNORE_ARRAY=(="§" ="§" ="§" ="§" ="§" .................. ="§"Here is a pattern
=I want to extract 'NEW_FORCE_IGNORE_ARRAY' which is the whole word before the first occurrence of pattern '='
Is there a better solution than mine :... (3 Replies)
Discussion started by: jcdole
3 Replies
LEARN ABOUT DEBIAN
getopt::std
Getopt::Std(3perl) Perl Programmers Reference Guide Getopt::Std(3perl)
NAME
getopt, getopts - Process single-character switches with switch clustering
SYNOPSIS
use Getopt::Std;
getopt('oDI'); # -o, -D & -I take arg. Sets $opt_* as a side effect.
getopt('oDI', \%opts); # -o, -D & -I take arg. Values in %opts
getopts('oif:'); # -o & -i are boolean flags, -f takes an argument
# Sets $opt_* as a side effect.
getopts('oif:', \%opts); # options as above. Values in %opts
DESCRIPTION
The getopt() function processes single-character switches with switch clustering. Pass one argument which is a string containing all
switches that take an argument. For each switch found, sets $opt_x (where x is the switch name) to the value of the argument if an
argument is expected, or 1 otherwise. Switches which take an argument don't care whether there is a space between the switch and the
argument.
The getopts() function is similar, but you should pass to it the list of all switches to be recognized. If unspecified switches are found
on the command-line, the user will be warned that an unknown option was given. The getopts() function returns true unless an invalid
option was found.
Note that, if your code is running under the recommended "use strict 'vars'" pragma, you will need to declare these package variables with
"our":
our($opt_x, $opt_y);
For those of you who don't like additional global variables being created, getopt() and getopts() will also accept a hash reference as an
optional second argument. Hash keys will be x (where x is the switch name) with key values the value of the argument or 1 if no argument
is specified.
To allow programs to process arguments that look like switches, but aren't, both functions will stop processing switches when they see the
argument "--". The "--" will be removed from @ARGV.
"--help" and "--version"
If "-" is not a recognized switch letter, getopts() supports arguments "--help" and "--version". If "main::HELP_MESSAGE()" and/or
"main::VERSION_MESSAGE()" are defined, they are called; the arguments are the output file handle, the name of option-processing package,
its version, and the switches string. If the subroutines are not defined, an attempt is made to generate intelligent messages; for best
results, define $main::VERSION.
If embedded documentation (in pod format, see perlpod) is detected in the script, "--help" will also show how to access the documentation.
Note that due to excessive paranoia, if $Getopt::Std::STANDARD_HELP_VERSION isn't true (the default is false), then the messages are
printed on STDERR, and the processing continues after the messages are printed. This being the opposite of the standard-conforming
behaviour, it is strongly recommended to set $Getopt::Std::STANDARD_HELP_VERSION to true.
One can change the output file handle of the messages by setting $Getopt::Std::OUTPUT_HELP_VERSION. One can print the messages of "--help"
(without the "Usage:" line) and "--version" by calling functions help_mess() and version_mess() with the switches string as an argument.
perl v5.14.2 2010-12-30 Getopt::Std(3perl)