Unix Shell 编程
文章平均质量分 73
304的的哥
一个被产品经理耽误的,摄影师
展开
-
AIX中grep命令介绍
grep三种变形1.grep:标准命令,查找文本,可使用正则表达式。2.egrep:扩展grep,支持基本及扩展的正则表达式,但不支持\p模式范围的应用。3.fgrep:快速grep,允许查找字符串而不是一个模式。在grep命令中,输入字符串参数时,最好将其用双引号括起来。grep命令选项:-c:只输出匹配行数-i:不区分大小写(只适用单字符)-h:查询多个文件时,不显示文件名原创 2012-11-25 11:38:18 · 12449 阅读 · 0 评论 -
AIX下AWK语言中使用正则表达式
在awk命令中使用正则表达式awk中可以使用正则表达式,元字符如下:\,^,.,[],|,(),*,+,?+:匹配一个或多个字符?:匹配模式出现频率,/XY?Z/匹配XYZ,YZ条件操作符操作符 描述——————————— ——————————————— < 小于 <= 小于等于 ==原创 2012-11-25 20:39:45 · 4799 阅读 · 0 评论 -
AIX下awk语言的内置字符串函数
awk语言内置的字符串函数——————————————————————————————————————————————————————————————gsub(r,s) 在整个$0中用s替代rgsub(r,s,t) 在整个t中用s替代rindex(s,t) 返回s中字符串t的第一位置length(s) 返回s的长度match(s,r) 测试s是否包含匹配r的字符串sp原创 2012-11-25 21:11:46 · 3218 阅读 · 0 评论 -
Unix Shell中单引号、双引号字符、反斜杠、反引号的使用
在执行shell脚本的时候,shell将会对脚本中的行进行解释,然后执行;对于一些特殊处理的句子,我们可以使用引号或者反斜线来避免shell解释执行之。如下,当在命令行中输入:echo *child.sh env_variable father.sh param.sh profile.sh 125017.sh默认会将当前文件夹下的所有文件都打印出来,但我们需要的是输出一个“*”。可以以原创 2012-12-31 10:21:54 · 18074 阅读 · 1 评论 -
AIX下test命令简介及使用
test命令,测试字符串,文件状态,数字等是否符合我们的需要。test命令适用于对文件、字符串、数字的检测。对于测试输出结果,可以使用$?检测,0表示返回正确,1表示返回错误。test命令格式:test condition 或[ condition ]一、下面是测试文件的状态表------------------------------d 目录-f 正规文件-L 符号链接-原创 2012-12-31 11:18:44 · 2679 阅读 · 0 评论 -
AIX下AWK语言的操作符
awk操作符—————————————————————————————————————————————= += *= / = %= ^ = 赋值操作符? 条件表达操作符|| && ! 并,与,非> 关系操作符+ - * / % ^ 算术操作符+ + -- 前缀和后缀———————————————————————————————————————————原创 2012-11-25 20:57:13 · 1887 阅读 · 0 评论 -
AIX本地变量简介及使用
本地变量在用户当前的shell生命周期之内有效,结束当前进程,启动另一个进行,则此变量将无效。设置本地变量的格式:variable-name = value 或者 {valiable-name=value}注意,“=”左右可以有空格,若值有空格,则使用“”包含。下面是实际变量模式-------------------------------------------------------原创 2012-12-21 06:54:11 · 1930 阅读 · 0 评论 -
Unix Shell控制结构—CASE
类似于其他高级程序语言,Shell中case语句的作用也是作为多项选择使用,语法如下:case word in pattern1) Statement(s) to be execute if pattern1 matchs ;; pattern2) Statement(s) to be execute if pattern2 matchs ;; pa原创 2013-01-25 16:17:30 · 2200 阅读 · 0 评论 -
AIX下expr命令的简介及使用
expr命令适用于对数字、字符串的检测。此命令用于计算表达式的值,特殊符号需要借助"\"符号转义,主要用于数字。命令格式为:expr argument operator argument加法:expr 100 + 100200减法:expr 100 - 1000-900乘法:expr 10 \* 10100除法:expr 123 / 1012原创 2013-01-12 16:16:31 · 3438 阅读 · 0 评论 -
UNIX Shell控制结构—IF
流控制(Decision Making)IF语句有三种格式:第一种:if ... fi statement下面是一个实例:cat if1.sh#!/bin/sha=10b=20#①if [ $a -eq $b ]; then echo "a is equal to b";fiif [ $a -gt $b ]; then echo "a is great t原创 2013-01-12 16:33:52 · 5320 阅读 · 0 评论 -
UNIX Shell循环控制—while
while循环,语法如下:while commanddo Statement(s) to be executed if command is truedonecommand可以是一个判断,也可以是一个命令,如读取文件等。当command条件为真,则执行循环中的语句块,否则直接退出循环。实例1、简单的while循环打印从0到10的数据:pg while1.sh原创 2013-01-29 14:18:27 · 3539 阅读 · 0 评论 -
第一个Unix Shell函数
凡事都有个开头;有句话说,万事开头难;不管以后的路怎么样,走好脚下的每一步。今天接触到了Unix shell中的函数,记录下,写了个hello函数,如下:pg fun_hello.sh#!/bin/kshhello () { echo "Hello ,this is my first Shell function!" echo "Today is `date +%Y-%m-%原创 2013-02-01 15:51:19 · 1449 阅读 · 0 评论 -
Unix shell自定义函数的简介及使用
一、无参函数没有参数的函数,直接调用实现某些功能。函数编写在脚本中,与其他命令一起存储,但是函数必须定义在脚本的最开始部分;也就是说,包含函数的脚本中,所有的函数都得定义在脚本的最开始部分;然后在定义函数之后调用或者在其他脚本中引用这些定义的函数。实例1、下面是一个简单的自定义函数,求1到10的和:pg no_param_test#!/bin/ksh# 测试无参自定原创 2013-03-04 15:03:09 · 3476 阅读 · 0 评论 -
AIX下的AWK语言介绍
awk命令的最基本功能:在文本或字符串中给予指定规则浏览和抽取信息。awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本中的信息。三种调用awk的命令方式:1.命令行方式:awk [-F field-separator] 'commands' input-file(s) -F选项可选:awk -F: 'commands' input-file2.将所有的awk命令原创 2012-11-25 20:30:59 · 3915 阅读 · 0 评论 -
AIX下AWK语言的内置变量
awk内置变量awk有许多内置变量用来设置环境信息,可修改;下表是一些常用的内置变量及其含义:——————————————————————————————————————————————ARGC 命令行参数个数ARGV 命令行参数排列ENVIRON 支持队列中系统环境变量的使用FILENAME awk浏览的文件名FNR 浏览文件的记录数FS 设置输入域分隔符,等价于命令行原创 2012-11-25 20:53:54 · 1853 阅读 · 0 评论 -
AIX下paste命令简介及使用
paste命令的用法cut命令将数据从文本中剪切出来,然后使用paste命令粘贴到相应文本中去。注意,粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。命令格式:paste -d -s -file1 file2-d:指定不同于空格或tab键的域分隔符,如#,-d#-s:将每个文件合并成行而不是按行粘贴-:使用标准输入,如通过管道命令传递数据。从上面的文件中剪切数据,原创 2012-12-11 21:59:59 · 1964 阅读 · 0 评论 -
AIX下的sed介绍
sed:是一个非交互性文本流编辑器,可编辑大或小的文件,sed命令定时编辑,删除文件;一次性处理所有改变。sed不与原文件打交道,只是操作源文件的一个拷贝,然后所有的改动输出到一个文件,并输出到屏幕。调用sed的三种方式:1.命令行键入命令2.将sed命令插入脚本文件,然后调用sed3.将sed命令插入脚本文件,并使sed脚本可执行?自动执行?调用sed1.命令格式sed [原创 2012-12-06 22:13:58 · 4755 阅读 · 0 评论 -
shell命令执行顺序的控制
&&命令1 && 命令2:如果这个命令执行成功&&那么执行这个命令。[开发]/usr/xxxx/ytcclb>ls -l test.sql-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql[开发]/usr/xxxx/ytcclb>cp test.sql test.bak && echo "coping file ok原创 2012-11-25 10:45:27 · 2120 阅读 · 0 评论 -
Unix Shell正则表达式元字符
元字符含义及例子^只匹配行首;eg. 行首第四个字符为1:^...1 行首前四个字符为comp:^comp$只匹配行尾;eg. 匹配所有空行:^$ 匹配含有一个字符的行:^.$ 匹配以er结尾的字符:^*er$*匹配0个或多个字符[]匹配[]内的字符,原创 2012-11-25 10:24:13 · 1397 阅读 · 0 评论 -
AIX中find命令和xargs命令介绍
find查找文件命令格式:find pathname options[-print -exec -ok]pathname :目录路径-print :匹配的文件输出到标准输出-exec :对匹配的文件执行该参数所给出的shell命令-ok :与-exec同,在执行命令前,每次都给出提示find命令选项-name :按照文件名查找文件 ~ 表示当前用户的$H原创 2012-11-25 11:11:34 · 15725 阅读 · 0 评论 -
Shell命令读取数据与输出数据
shell脚本读取数据的几种方式:1.键盘输入,默认2.从文件中读取3.通过管道命令传递echo的功能:\c :不换行\f :进纸\t :跳格\n :换行\表示转义,例如:"\"/dev/rmt0"\"翻译为,"/dev/rmt0"read:从键盘或文件的某一行文本中读取信息,并将其赋给一个变量。[开发]/>read namehello i am a regular u原创 2012-11-25 10:56:16 · 2445 阅读 · 0 评论 -
AIX下awk语言的输出函数printf
输出函数printf:printf([format_control_flg],arg)printf修饰符——————————————————————————————————————————————————- 左对齐Width 域的步长,0表示0步长.prec 最大字符串长度,或小数点左边的位数————————————————————————————————————————————原创 2012-11-25 21:28:00 · 7110 阅读 · 0 评论 -
AIX环境变量简介及使用
环境变量是操作系统环境设置的变量,适用于整个系统的用户进程;环境变量可以在命令中设置,但是用户注销的时候将会丢失这些设置值;若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同,但是在使用之前,必须用export命令导出。1.设置环境变量同一行键入2个语句,使用分号隔开VARIABLE-NAME=value; export VARIABLE-NAME原创 2012-12-23 20:44:40 · 3845 阅读 · 0 评论 -
AIX下使用sed对文件进行操作
一.附加文本使用a\在指定行后面附加1行或多行;若不指定放置的位置,则默认放到每一行的后面。附加文本时,不允许指定范围,只允许一个地址模式。附加格式:[address] a\text\text\...text注意:1.a\通知sed对a\后面的内容进行附加操作。2.每行后面都有"\",当sed执行到\时,将创建一个新行,并将内容添加进去。3.最后一行不能有"\"。例子:原创 2012-12-06 22:15:16 · 13084 阅读 · 1 评论 -
AIX下系统sed使用详解
使用sed去修改或者删除文本中的字符或者字符串。pg func.txt0at$the@begining^MThe#file#name#is#func,^M9and%it's%suffix%is .txt1.查找包含"#"的行:awk '$0 ~ /#/' func.txtThe#file#name#is#func,^M2.将包含"#"的行中第一个"#"替换为空格:sed -n原创 2012-12-10 22:40:46 · 13398 阅读 · 0 评论 -
AIX下sort命令简介及使用
sort命令将许多不同的域按不同的列顺序排序,sort命令如下:sort -cmu -o output_file [other options] +pos1 +pos2 input_files-c:测试文件是否已经排序-m:合并两个排序文件-u:删除所有重复行-o:存储sort结果的输出文件名其他选项:-b:使用域进行排序时,忽略第一个空格-n:指定排序是域上的数字排序-t:域分原创 2012-12-11 21:51:38 · 6348 阅读 · 0 评论 -
AIX下uniq命令简介及使用
uniq用来从一个文本中去除或禁止重复的行;sort的-u选项也可以去除重复行。命令格式:uniq -u[-d[,-c]] -f input_file output_file-u:只显示不重复的行-d:只显示有重复数据的行,每种重复行只显示其中一行-c:打印每一重复行出现次数-f:n为数字,前n个域被忽略,不识别-f选项的系统使用-n选项我们来看下面的例子:有重复数据的文件week.原创 2012-12-11 21:56:17 · 2281 阅读 · 0 评论 -
AIX下cut命令简介及使用
cut用来从标准输入或文本文件中剪切列或域;命令格式:cut [options] file1 file2options:-c list:指定剪切字符数-f field:指定剪切域数-d:指定与空格和tab键不同的域分隔符-c:用来指定剪切范围,如: -c1,5-7:剪切第1个字符,然后是滴5到底7个字符 -c1-50:剪切前50个字符-f域-c相同: -f1,5:剪切第1域,第原创 2012-12-11 21:58:42 · 2639 阅读 · 0 评论 -
Unix Shell中使用Shift命令操作脚本参数
shift命令用于跳转到下一个参数,使函数或者控制语句对于参数的处理更加灵活,而不局限于使用$1、$2、$3、$4、$5、$6这种方式去表示参数。下面是一个while循环,此循环的目的是读取并打印所有输入的参数。pg readparm#!/bin/ksh# opt1while [ $# -ne 0 ]do echo $1done但是这个并不能实现我们打原创 2013-04-02 16:28:55 · 2296 阅读 · 0 评论