`
guanjh
  • 浏览: 232830 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
1、句点“.”可以匹配任意单字符。 2、在行首以^匹配字符串或字符序列 3、在行尾以$匹配字符串或字符 4、使用*匹配字符串中的单字符或其重复序列 5、使用\屏蔽一个特殊字符的含义($.'"*|^()\+? ) 6、使用[]匹配一个范围或集合。使用[ ]匹配特定字符串或字符串集,可以用逗号将括弧内要匹配的不同字符串分开,但并不强制要求这样做(一些系统提倡在复杂的表达式中使用逗号),这样做可以增加模式的可读性。使用“ -”表示一个字符串范围,表明字符串范围从“ -”左边字符开始,到“ -”右边字符结束。 7、使用\{\}匹配模式结果出现的次数。pattern\{n\} 匹配模式出现n次。 ...
1、使用&& :& &左边的命令(命令1)返回真(即返回0,成功被执行)后,& &右边的命令(命令2)才能够被执行; 2、使用|| :如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2); 3、用()和{ }将命令结合在一起 : 为了在当前s h e l l中执行一组命令,可以用命令分隔符隔开每一个命令,并把所有的命令用圆括号()括起来。如果使用{ }来代替(),那么相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s ...
1、使用e c h o命令可以显示文本行或变量,或者把字符串输入到文件。 2、可以使用r e a d语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。如果只指定了一个变量,那么r e a d将会把所有的输入赋给该变量,直至 ...
1、cron和crontab     c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做c r o n t a b的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。   2、at命令 a t命令允许用户向c r o n守护进程提交作业,使其在稍后的时间运行。这里稍后的时间可能是指1 0 m i n以后,也可能是指几天以后。如果你希望在一个月或更长的时间以后运行,最好还是使用c r o n t a b文件。 ...
字符匹配:   * 匹配文件名中的任何字符串,包括空字符串。? 匹配文件名中的任何单个字符。[...] 匹配[ ]中所包含的任何字符。[!...] 匹配[ ]中非感叹号!之后的字符。
1、find命令选项f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠-。   -name 按照文件名查找文件。   -perm 按照文件权限来查找文件。   -prune 使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使 ...
1、chmod :可以使用c h m o d命令来改变文件权限位的设置。这一命令有比较短的绝对模式和长一些的符号模式。 2、suid/guid :s u i d意味着如果某个用户对属于自己的s h e l l脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。很多系统应商不允许实现这一位 3、chown和chgrp :改变用户的所有权,只有文件的属主和系统管理员可以改变文件的所有权。 4、umask :系统管理员必须要为你设置一个合理的u m a s k值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用 ...

Shell调试

sh -x buildlog.sh M01022.cfg ods_custer_jflj_mm  >01022.log 2>xerror2
PreviousDay(){     # 从输入的日期中减去一天    day=`expr $day - 1`     # 如果day为0,那么这一天是上个月的最后一天    if [ $day -eq 0 ]; then         # 找到上一个月        month=`expr $month - 1`         # 如果month为0,那么这个月上一年的12/31日        if [ $month -eq 0 ]; then            month=12            day=31            year=`expr $year - 1` ...

awk的Trim函数

nawk -f mark.awk myFile.txt 下面是mark.awk   BEGIN {  FS=OFS=","}function trim(str){  sub("^[ ]*", "", str);  sub("[ ]*$", "", str);  return str}{  for(i=1; i <= NF; i++)    printf("%s%s", trim($i), (i==NF) ? "\n" : OFS);}

随机数的产生

interval=`echo "scale=1; ($RANDOM/32767)*8.9+1" | bc|cut -b 1-1`
get_whatdays(){ # Sample input:20020703 year=`echo $1|cut -c1-4`month=`echo $1|cut -c5-6`day=`echo $1|cut -c7-8` b=`cal $month $year|wc -l `dow=`cal $month $year |awk '{for(i=1;i<=NF;i++){if($i=='$day'){if (NR=='"$b"'-1){print i-1}else{print 7-NF+i-1}}}}'` #  Convert the numeric day of t ...

#生成随机时间

#生成随机时间h1=`echo "scale=1; ($RANDOM/32767)*1.9" | bc|cut -b 1-1`h2=`echo "scale=1; ($RANDOM/32767)*9.9" | bc|cut -b 1-1`m1=`echo "scale=1; ($RANDOM/32767)*5.9" | bc|cut -b 1-1`m2=`echo "scale=1; ($RANDOM/32767)*9.9" | bc|cut -b 1-1`s1=`echo "scale=1; ($RAND ...

Shell日期函数

unix里对于日期的处理: get_yesterday(){yy=`date +%Y`mm=`date +%m`dd=`date +%d-1|bc` if [ $dd -lt 1 ] then mm=`expr $mm - 1` [ $mm -lt 1 ] && mm=12;yy=`expr $yy - 1`fi[ $dd -le 9 ] && dd="0$dd"echo $yy$mm$dd} get_yesterday get_tomorrow(){yy=`date +%Y`mm=`date +%m`dd=`date +%d+1|bc` g ...

月份转行

#生成月d_month=`echo $MONTH|awk '{month["01"]="Jan"               month["02"]="Feb"               month["03"]="Mar"               month["04"]="Apr"               month["05"]="May"               month[&quo ...
Global site tag (gtag.js) - Google Analytics