- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 实例讲解4--awk命令e续
注:p最小为1,当p为0时,p被置为1;n个字符包括p所在字符。system(cmd) 执行命令并返回出口状态toupper(s) 将输入参数s中的字符全部转换为大写字符并返回转换后的字符串tolower(s) 将输入参数s中的字符全部转换为小写字符并返回转换后的字符串close( expr ) 关闭由expr表示的文件或管道,文件或管道可能被print、pri
2012-03-30 11:11:10 347
原创 实例讲解4--awk命令e
9.awk内置函数awk的字符串使用引号括起。通过连接常量、变量、数组元素、函数和其它表达式可以创建串表达式。例如:打印第几号记录和一个冒号,然后打印文本行。{print NR”:”$0}函数名 返回值gsub(r,x) 在当前记录中,用s替换r,返回替换数gsub(r,s,t) 在串t中,用s替换r,返回替换数index(s,t) 返回s串中t的位置,不出现时为0
2012-03-30 11:10:34 588
原创 实例讲解4--awk命令d
5.awk用户定义变量 用户自定义变量用以存放数据以及进行运算。6.awk算术运算算术运算在内部以浮点形式完成,也包含一般的加、减、乘、除、余和乘幂,运算符分别为”+”、”-“、”*”、”/”、”%”和”^”。a) awk ‘$1==”Feb” {sum=$2+$3} END{print sum}’ filenameb) awk ‘$1==”ATOM” {a=a
2012-03-30 11:01:51 418
原创 实例讲解4--awk命令c
4.awk内部变量(部分变量需要验证)变量 含义 默认值属性ARGC 命令行实参个数 - 只读ARGV 命令行实参数组 - 可读可写FILENAME 当前输入文件名- 只读FNR 当前文件中的记录数 - 只读FS 输入字段分隔符 空白及制表符 可读可写NF 当前记录中的字段数 - 只读NR 至今读取的记录数 - 只读OFMT
2012-03-30 11:00:22 343
原创 实例讲解4--awk命令b
2.awk匹配模式分为三类:a) awk的关系表达式:用来说明字段是否与要求符合。例如:$1==”char” 、$2>20等等。b) awk的正则表达式:用//括住。规则与sed相同。例如:/^.$/ 匹配只有一个字符的行。c) awk的BEGIN和END模式:BEGIN模式意味着在读取第1行之前的匹配模式。它常用于初始化,例如设置分隔符、打印标题以及变量赋初
2012-03-30 10:51:18 382
原创 实例讲解4--awk命令a
1.awk字段分隔符: -F选项指定了字段分隔符为冒号awk -F: ‘{print $1,$3}’ file多个字段print $1 $ awk -F":" '{ print $1 $3 }' /etc/passwdhalt7operator11root0shutdown6sync5bin1....etc.$ awk -F":"
2012-03-30 10:50:10 265
原创 实例讲解3--sed命令h
24.sed获取第n个匹配的行的行号get_match_line_no(){ n=$1 #第n个匹配的行 file=$2 #要搜索的文件 str=$3 #要匹配的字符串 sed -n"/${str}/=" ${file} | sed -n"${n}p"}
2012-03-30 10:48:31 274
原创 实例讲解3--sed命令g
22.dirname或参数扩展提取目录名 例如从$0参数中提取运行的路径:从../../etc/passwd/得到../../etc,从/etc/passwd得到/etc 方法一:dirname c_path=$0 c_path=`dirname $c_path`注:如果没有路径,则c_path得到为单字符”.”
2012-03-30 10:47:56 439
原创 实例讲解3--sed命令f
21.sed提取最后一个目录名和程序名例如从../../etc/passwd或者/etc/passwd得到passwd方法一:使用临时文件#得到当前路径,输出到a文件 pwd >a #读取a文件,过滤首字母/和尾字母/,将结果输出到b文件sed's/^\///g' a | sed ‘s/\/$//g’ >b while fgrep \/ b
2012-03-30 10:47:18 636
原创 实例讲解3--sed命令e
19.sed去掉字串变量前后的空格 str1=” 1234 “str2=` echo ${str1} `此时str2不含有前后的空格。如果使用sed如下:str2=”` echo ${str1} | sed ‘s/^[ ]*//g’ | sed ‘s/[ ]*$//g’ `”如果使用awk如下:str2=”` echo $(str1) | awk ‘{print $
2012-03-30 10:46:34 393
原创 实例讲解3--sed命令d
18.sed常见的一行命令集命令 意思‘s/\.$//g’ 删除以句点为结尾行‘-e/abcd/d’ 删除包含abcd的行(疑为’/abcd/d’)‘s/[ ][ ]*/[ ]/g’ 删除一个以上空格,用一个空格代替‘s/^[ ][ ]*//g’ 删除行首空格‘s/\.[ ][ ]*/[]/g’ 删除句点后跟两个或多个空格,用一个空格代替‘s/^$/d’ 删除空
2012-03-30 10:45:56 434
原创 实例讲解3--sed命令c
13.sed删除最后一行sed ‘$d’ filename14.sed替换文本sed ‘s/night/NIGHT/’ filename#将所有night替换为NIGHTsed ‘s/night//’ filename#将night删除15.sed输出到文件,w选项:把第1到2行的内容输出到文件field中,不存在则创建。sed ‘1,2w fie
2012-03-30 10:42:25 453
原创 实例讲解3--sed命令b
3.sed打印文件的第二行sed -n ‘2p’ filename4.sed打印文件的第一到三行sed -n ‘1,2p’ filename5.sed打印匹配test的行sed -n ‘/test/p’ filename6.sed打印匹配$的行sed -n ‘/\$/p’ filename7.sed打印最后一行:$是代表最后一行的特殊字符
2012-03-30 10:33:50 349
原创 实例讲解3--sed命令a
sed的正则表达式用//括住。1.sed文本的定位方法:x x为一行号x,y 表示行号范围从x到y/pattern/ 查询包含模式的行/pattern/pattern/查询包含两种模式的行/pattern/,x 在给定行号上查询包含模式的行x,/pattern/ 通过行号和模式查询匹配行x,y! 查询不包括指定行号x和y的行2.sed编辑
2012-03-30 10:22:48 338
原创 实例讲解2--正则表达式c
14.grep精确匹配:在抽取字符串后加\>。 grep “48\>” file 15.grep消除大小写:加入-i选项 grep -I “sept” file 16.特殊字符:$ . ‘ “ * [ ] ^ | \ + ? 如果要查询这些字符,需要在前面加转义字符\。 17.grep判断变量含有[HOST]字符串
2012-03-30 10:16:17 178
原创 实例讲解2--正则表达式b
13.常用正则表达式举例正则表达式 匹配功能^[the] 以the开头行[Ss]igna[lL] 匹配单词signal,signaL,Signal,SignaL[Ss]igna[lL]\. 同上,但加一个句点[mayMAY] ^USER$ 只包含USER的行[tty]$ 以tty结尾的行\. 带句点的行^d..x..x..x 对用户、用户组及其它用户组成员有可执
2012-03-30 10:12:24 214
原创 实例讲解2--正则表达式a
1 1.grep匹配/etc/services文件中以ftp字符串开头的哪些文本行grep ‘^ftp’ /etc/services 2.grep匹配以system文本结尾的行。 grep ‘system$’ file3.grep匹配仅包含一个#字符的行。 grep ‘^#$’ file //以#开头,然
2012-03-30 10:01:04 195
原创 实例讲解1--模式匹配
模式匹配1.ls显示所有以hosts.开头的文件ls –l hosts.* 2.ls显示包含x,y,z字符的所有文件 ls –d *[x-z]*
2012-03-30 09:54:31 207
原创 shell脚本调试
1.启动调试启动调试Shell脚本的基本语法为: $/bin/sh option script arg1 arg2 ... argN这里显式声明了要执行脚本的Shell为/bin/sh,script是脚本的名字,arg1到argN是脚本的参数, option为调试选项,如下所示: -n 读所有的命令,但不执行它们 -v 在读时显示所有的行 -
2012-03-30 09:51:05 245
原创 流程控制语法2
1.for语句 for variable[in argument-list] do command-list done 2.while语句while expressiondo command-list done3.until 语句 until expressiondo command-list don
2012-03-30 09:47:04 146
原创 流程控制语法1
1.if-then-elif-else-fi 语句if expressionthen[elif expressionthen then-command-list]. . .[else else-command-list]fi2.if-then-fi语句3.if-then-else-fi语句4.if-then-elif-else-f
2012-03-29 17:15:41 145
原创 expr命令
命令格式 expr expression expression是由字串以及运算子所组成,每个字串或是运算子之间必须用空白隔开 。下表是运算子的种类及功能,而优先顺序则以先後次序排列,可以利用小括号来改变运算的优先次序。其运算结果则输出至标准输出上。:字串比较。比较的方式是以两字串的第一个字母开始,而以第二个字串的 字母结束。如果相同时,则输出第二个字串的字母个数,如果不同时则传
2012-03-29 15:27:03 318
原创 test命令
命令格式test expression expression中包含一个以上的判断准则以作为test评诂的标准。两准则间用"-a"代 表逻辑AND 运算,"-o"代表逻辑OR运算,而在准则前放置一"!"代表NOT 运算。如 果没有括号,则优先权则为"!"> "-a" > "-o" 。和expr命令相同,想使用左右括号时,必须在其前面加上"\"。以下是有关准则的叙述(符合叙述时传回真,否则传
2012-03-29 15:24:51 222
原创 find命令
通过文件名或其它特征查找文件。格式: find [path-list] [predicate-list]选项: -type tp 文件类型为tp: b 块特别文件 c 字符设备特别文件 d 目录文件 f 普通文件 p 管道文件(FIFO)
2012-03-29 15:20:33 279
原创 awk命令
awk 是一种程序语言,对于资料的处理具有很强的功能,对于文档里的资料做修改、比较、抽取等处理,awk能够以很短的程序轻易地完成。如果使用C 语言写程序完成上述的操作不方便且很花费时间,所写的程序也会很大。 awk能够依照用户定义的格式来分解输入的资料也可以依照用户定义的格式来打印资料。 awk可用于在对象文件中逐行读取记录,按照命令中定义的匹配模式寻找相关记录,然后对该记录进
2012-03-29 15:16:45 243
原创 sed
查找和编辑文本。 格式: (1)直接键入命令 sed [-option] command_line filename(2)将sed命令插入脚本文件,然后调用sedsed [-option] -f program_file filename(3)将sed命令插入脚本文件,并使脚本可执行sed program_file [-option] filenam
2012-03-29 15:15:13 221
原创 grep 命令
搜索文本的匹配内容。 格式: grep [-option] pattern [filename]选项: -c 只输出匹配行的计数 -i 不区分大小写(只适用于单字符) -h 查询多文件时不显示文件名 -l 查询多文件时只输出包含匹配字符的文件名 -n 显示匹配行及行号 -s 不显示不存在或无匹配文本的错误信
2012-03-29 15:11:09 163
原创 shell基础知识(3)
数组(在sh中不支持,可以在ksh中使用):${#varlist[@]} 数组元素个数${datalist[index]} 数组元素${#datalist[index]} 数组元素长度执行命令:1) command :直接执行命令command2) sh command:启动一个shell process执行命令command3) . comm
2012-03-29 15:08:24 288
原创 shell基础知识(2)--其他参数
其他参数:$CDPATH包含一系列目录名,cd命令对他们逐个进行搜索来查找作为参数传递给它的目录;如果该变量未设置,cd命令搜索当前目录$EDITOR 程序(如e-mail程序)里使用的默认编辑器$ENV UNIX查找配置文件的路径$HOME 用户初次登录时的起始目录名$MAIL 用户的系统邮箱文件的名称$MAILCHECK shell
2012-03-29 14:58:51 479
原创 shell基本知识(1)--脚本参数
shell脚本参数可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制。参数从第一个开始,在第九个结束。$0 程序名字$n 第n个参数值,n=1..9 $* 所有命令行参数$@ 所有命令行参数,如果它被包含在引号里,形如”$@”,则每个参数也各自被引号包括$# 命令行参数个数 $$ 当前进程的进程ID(PID)$! 最近后台进程的进程ID$?
2012-03-29 14:50:56 227
原创 perl安装
perl安装文件可以从网络上免费获取安装过程为: (1)解压: $gunzip perl-5.004.tar.gz $tar xvf perl-5.004.tar.gz (2)配置: $Configure (3)编译: $make $make test $make i
2012-03-29 09:50:38 249
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人