六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 25|回复: 0

CMD List [12]

[复制链接]

升级  48%

34

主题

34

主题

34

主题

秀才

Rank: 2

积分
122
 楼主| 发表于 2013-1-26 13:32:52 | 显示全部楼层 |阅读模式
Variable ($)
$
Scalars, e.g.
$pi = 3.14159265 # numeric
$pet = "Camel"; # string
$sign = "I ove my $pet"; # string with variable replacement
$cose = 'It cose $100'; # string no variable replacement
$cwd = `pwd`; # run the command, generate output as input
$0
contains the name of the running perl script. = $PROGRAM_NAME in shell
$1~$9
Each set of grouping ()'s in a regular expression corresponds to a special variable $1 through $9. E.g.
$_ = "Fred, not Barney Rubble";
if ( /([A-Z]{1}[a-z]+)\s+([A-Z]{1}[a-z]+)/ ) { print "$1, $2\n";}
# would print Barney, Rubble. Matches with Fred inside $_. This value gets assigned to $1. However, once the searching engine fails to match the whitespace (ie, the comma , ) - the search engine starts its search again one character past its "almost" match. Next, Barney matches the first part of the regexp and gets assigned to $1.
$_
default input and pattern-searching space.
$`
 
$&
 
$’
 
$$
represents the current process id of the running perl script. = $PID in shell
$!
If a system or library call fails, it sets this variable.
$?
The status returned by the last pipe close, backtick (`` ) command, successful call to wait() or waitpid(), or from the system() operator.
$ARGV
contains the name of the current file when reading from <>.
$#ARGV
is the number of command line arguements minus one (so it's really the last index of @ARGV).
@
array with number key, e.g. @arr = ('a','b'); @days{'a','c'} = ('Monday','Wednesday');
@ARGV
is an array containing a list of command line arguments passed to the perl script. $ARGV[0] is the first arguement.
$0 = argv[0] in C, $ARGV[1] = argv[2] in C.
@ENV
e.g. $ENV{‘HOME’} = home path of user, $ENV{‘PWD’} = current path.
%
array with string key
&
sub Perl
*
struck
 
Array
@...       list, no difference with 1 dimension array
$var{‘string’}       Associative Array, use string as index, we call it ‘hash’.
 
Operators
(1)   Numeric
<, >, ==, <=, >=, !=
<=> Compare returns -1,0,1 depending on whether left side arg is less, equal, or greater
(2)   String
lt, gt, eq, le, ge, ne, cmp
(3)   Logic
||, or, &&, and, !, not, xor,
(4)   Bit
&, |, ~, ^, <<, >>
(5)   Assignment
x=    e.g. $string x= 5;
.=     e.g. $string .= “the end”;
(6)   Concatenate & Repetition
x      repetition operator, e.g. ‘-‘ x 10; would be '----------'
.       concatenate 2 strings together
(7)   ++, --
(8)   , same as ;
(9)   Condition ? value 1 : value 2
 
Regular Expressions
(1) metacharacters
\     (quote the next metacharacter)
^    (match the beginning of the line), ^..
.     (match any character except newline)
$     (match the end of the line before newline), ..$
|      (alternation), e.g. a|b, a or b
()     (grouping), when match save to a special variable, for later usage.
[]     (character class), e.g. [a-z], characters from a to z
(2) Quantifiers
*     (match 0 or more times), = {0,}, e.g. x*
+     (match 1 or more times), = {1,}
?     (match 1 or 0 times), = {0,1}
{n}  (match exactly n times), e.g. {7}, 7 times, {count}
{n,} (match at least n times}, e.g. {7,}, more than 7 times, {min,}
{n,m}     (match at least n times but no more than m times)
(3) Escape Sequence
\s     space, \S vise versa.
\w   word, \W vise versa. E.g. w+
\d    digit, \D vise versa.
\t     tab
\b    boundary
(4) Other
=~   use to match with Res(Regular Expressions)
!~    use to unmatch
..?   least match. e.g. *? when match then stop. E.g. *?, +?, ??, {min,max}?
 
m/../ or /../
Match pattern, m/PATTERN/gimosx. ‘m’ could omit if delimit with / or ?, ? stands for just match once.
Option
Function
/i
ignore uppercase or lowercase
/m
make ^ and $ match next \n
/s
make . match Carrier Return, and omit $* which not suggest to use
/x
omit blank and allow comment in mode
/o
compile mode once
/g
Search globally
/cg
Allow keeping search next after not found in /g mode
 
s/../../ or /../../
Replace pattern. Return code is match times, return “” when not match.
Option
Function
/e
Right side treat as expression to calculate
 
tr/../../
like s///, but match character by character.
Option
Function
/d
Delete characters which found but not replace
/s
Remove duplicated characters
e.g.
tr/AAA/XYZ/              = tr/A/X/
 
Control Statement
1)      If(){}elsif(){}, while(){}, do .. while
2)      {} can not omit.
3)      last = ‘break’ in C, next = ‘continue’ in C.
 
Subroutine
sub <routine name>{}
 
Function
print, printf, chop, split, exit, keys, values, reverse, sort, length, substr, index, push, pop, shift, unshift, open, close, sysopen, format, die, keys.
 
File
<>   file handler.
 
Sample
sas_name=`echo $sh_name | perl -pe 's/^\w+?_(\w+)_\w+?$/$1/'`
perl -pe "s/LOAD CLIENT FROM \'//i"
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表