Shell脚本学习笔记(七)--sed和awk

sed和awk 背景 设计script时,有时候需要修改脚步,如删除或置换某些关键词。这种在script执行过程动态修改文件的做法,称为流编辑。具有流编辑能力的工具,称为流编辑器(stream editor)。sed是这方面的佼佼者,可补bash的不足。另外,script执行时可能要制作报表,呈现各种字段信息。传统上,能和bash完美搭配的,非awk莫属。 正则表达式 正则表达式是组成“样式”的基本语法...

作者: 垂钓玄武 发布时间: 03-17

高级bash编程指南(四)

一:循环和分支 1. for planet in "Mercury 36" "Venus 67" do set --$planet echo "$1 $2,000,000 miles from sun " done exit 0 2.当一个for循环中忽略in [list]部分,将会使循环操作$@ 3.使用命令替换来产生循环的【list】 NUMBERS=“9 8 7 5” for number in `echo $NUMBER` 4.C风格for循环 for ((a=1,b=1;a<LIMIT;a++,b++));do echo -n "$a" done 5.C风格while循环 while...

作者: xdzone 发布时间: 03-16

Shell脚本学习笔记(六)--转向与陷阱

转向 文件代码:0,1,2,... <输入 >输出 转向语义大部分不能单独使用,必须和Bash命令一起运用 操作文件: fd<>文件 fd文件代码,可供读写 fd<&- 关闭输入文件 fd>&- 关闭输出文件 n<&m 复制转向输入的文件代码m,存成文件代码n,使n连接至m n>&m 复制转向输出的文件代码m,存成文件代码n,使n连接至m 一旦备份好标准输入后,就可以对标准输入进行操作,完毕后还原标准输入,...

作者: 垂钓玄武 发布时间: 03-16

Shell脚本学习笔记(三)--算术运算

算术运算 在求值时,如果算术式中变量不存在或空值,则该变量的值为0 不同进制的数字使用"基底#数字"的表示法,其中基底范围为2~64 算术扩展: 如果表达式中有变量,该变量名称之前最好不要加上$,以免该变量不存在造成语法的错误 如果除法的运算结果有余数,则无条件舍去 示例: View Code 1 #!/bin/bash 2 declare -i a i q s=0 3 a=${1:-255} 4 mask="128 64 32 16 8 4 2...

作者: 垂钓玄武 发布时间: 03-12

Shell 编程基础

本文主要总结了shell编程中一些值得注意的基础知识。 1.#!/bin/bash 必须放在文件的第一行 2.num=2,赋值时=两边不能有空格 3.echo "this is ${num}nd",话括号的作用 4.shell默认赋值是字符串赋值。eg var=100 var=$var+100 echo $var result:100+100 5.整数运算 var=100 (1) let "var+=1" ; let 表示数学运算 (2) var=$[var+=1];$[]将括号内的表达式先做数学运算再输出。 (...

作者: xdzone 发布时间: 03-11

Shell中循环的三种方法

Shell中我们常需要重复执行某段代码,如按日期、时间等等,以下三种方法简单、常用,与大家共享。 1、使用字串数组 months="05 06 07 08 09 10"for month in $monthsdo echo $monthdone 2、使用seq命令 for day in `seq -w 1 30`do echo $daydone 输出为:01 02 ... 30 其中seq了可不带w选项,则输出为:1 2 ... 30 3、使用日期自增 start_date=20101101end_date=20101130whi...

作者: nwf 发布时间: 03-10

history命令、BASH、快捷键

在bash中输入history指令可以查询用户的过往操作。 内存中记录的过往指令数根据环境变量中HISTSIZE而定。(/etc/profile) history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中。在下次login时载入。 使用 ! 来调用过往指令: !!:重复执行上一条指令 !a:重复执行上一条以a为首的指令 !number:重复执行上一条在history表中记录号码为number的...

作者: xiaokaizi 发布时间: 02-28

.bash_history不记录重复的历史命令(删除重复历史命令)

使用 HISTCONTROL 清除整个命令历史中的重复条目: $ export HISTCONTROL=erasedups NOTE:可直接把"HISTCONTROL=erasedups"写入.bashrc即可。 使用 HISTIGNORE 忽略历史中的特定命令: $ export HISTIGNORE=”pwd:ls:ls -ltr:” 使用 HISTCONTROL 从命令历史中剔除连续重复的条目: $ export HISTCONTROL=ignoredups 原文http://www.51testing.com/?uid-225738-action-viewspa...

作者: php_vfate 发布时间: 02-26

编辑器上传WEBSHELL的一种突破

今天看站遇到个编辑器很变态,直接默认管理进后台,但试了上传cer asa asp htr cxp...等所有后缀名,上传成功了的,并且目录下确实也传上去了,但就是访问没有这个文件 结果包子兄弟看了下很快搞定了,直接在马后加了;号,利用IIS解析漏洞上传居然就可以了...后台上马一直会试这个方法,但编辑器还确实没想过这样也可以,思路像尿路了。。。

作者: fdsajhg 发布时间: 02-23

28、Windows API Shell任务栏通知区域(Tray)图标

一、相关API 1、Shell_NotifyIcon Sends a message to the taskbar's status area.[2] 二、示例代码 任务栏通知区域(Tray)图标 参考 [1] 精通Windows API 函数、接口、编程实例 [2] http://msdn.microsoft.com/en-us/library/bb762159%28VS.85%29.aspx

作者: edwardlewiswe 发布时间: 02-19