shell编程之sed语法】的更多相关文章

首先插播条广告:  想要进一个文件夹去 看下面有那些文件 必须对这个文件夹有执行权限. sed p  打印对应的行  2p 打印第二行. -n  只输出经过sed 命令处理的行 看图吧 不太会擅长言语. 第二行是打印出来但是其他的也打印出来了. 同时sed  还能放在管道符号后面  ,看图 d 删除指定的行   sed "1,2d" 删除1,2行  由此可看到 第一二行不见了.但是没有真真删除原文件里面的东西.只是在输出的时候删除了. -i 操作的同时也影响了原文件   sed -i…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/560372 sed和gawk介绍 知识体系: #使用文本文件 #探索sed #探索gawk shell脚本可以把处理文本中包含的所有类型的数据这样的普通任务自动化.然而,只使用shell脚本命令处理文本文件的内容却有些麻烦.如果要 在shell脚本中进行任何类型的数据处理,就要熟悉linux中现有的sed和gaw…
一.sed (Stream Editor) 1.定位行:sed -n '12,~3p' pass #从第12行开始,直到下一个3的倍数行(12-15行)sed -n '12,+4p' pass #从第12行开始,连续4行(12-16行)sed -n '12~3p' pass #从第12行开始,间隔3行输出一次(12,15,18,21...)sed -n '10,$p' pass   #从第10行至结尾sed -n '4!p' pass   #除去第4行 2.正则:'/正则式/'sed -n '/…
shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } a:hover { outline: 0; } a:active { outline: 0; } a:hover { color: #005580 !important; text-decoration: underline !important; } bl…
本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正 Shell编程之case语句与函数 学习目标: 掌握case语句编程 掌握shell函数的使用 目录结构: Case语句 Case语句的作用 l  使用case语句改写多分支可以使脚本结构更加清晰,层次分明 l  针对变量不同取值,执行不同的命令序列 Case语句的结构 case 变量值 in 模式1) 命令序列1 :: 模式2) 命令序列2 :: *) 默认命令序列 csac case变量=模式1 ?是,则执行命令序列1,否,则判断变量…
shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 如果里面匹配到固定值:或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列. case只是判断一个变量的不同取值. case的模式: 执行流程: 首先使用“变量值”与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见“ ;; ”后跳转到esac结束. 如果与模式1不匹配…
shell编程之if判断 目录 shell编程之if判断 1.整数比较 2.字符串比较 3.举例 1.数字比较 2.字符串比较 4.Other 1.整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a&…
大家在学习正则表达式之前,首先要明确一点,并把它牢牢记在心里,那就是: 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,不要把二者搞混了.切记!!! 通常有三种文本处理工具/命令:grep.sed.awk,它们三者均可以解释正则.下面我就为大家介绍grep命令的使用方法. 一.使用grep命令搜索文件中的内容 grep和egrep命令能够在一个或多个文件的内容中搜索某一特定的字符模式,也被称为正则表达式(regular expressions).一个模式可以是一个单一的…
awk是一种用于处理数据和生成报告的编程语言 awk可以在命令行中进行一些简单的操作,也可以被写成脚本来处理较大的应用问题 awk与grep.sed结合使用,将使shell编程更加容易 awk工作模式: awk逐行扫描输入(可以是文件与管道),按给定的模式查找出匹配的行,然后对这些执行awk命令指定的操作 与sed一样,awk不会修改输入文件的内容.awk多了一个对列的处理,如果要处理列,awk是一个好的选择.可以使用重定向将awk的输出保存到文件中. 一.awk简单用法 awk   [opti…
一.Expect自动化交互程序 1.spawn命令 通过spawn执行一个命令或程序,之后所有的Expect操作都会在这个执行过的命令或程序进程中进行,包括自动交互功能. 语法: spawn [ 选项 ] [ 需要自动交互的命令或程序 ] -open 表示启动文件进程 -ignore 表示忽略某些信号 spawn ssh root@192.168.1.1 uptime 2.expect命令 获取spawn命令执行后的信息,看卡是否和其事先指定的相匹配,一旦匹配上指定的内容就执行expect 语法…
一.for和select循环 1.for循环语法 for 变量名 in 变量取值列表 do 指令... done C语言型for循环 for ((exp1; exp2; exp3)) do 指令... done 示例: for ((i=1;i<=3;i++)) do echo $i done 说明: 第一个是变量初始化 第二个是变量范围 第三个是变量自增或自减 2.for循环实践 (1)打印5.4.3.2.1这5个数字 [root@codis-178 ~]# cat 11_1.sh #!/bin…
一.case条件语句 1.语法 case "变量" in 值 1) 指令 1... ;; 值 2) 指令 2... ;; *) 指令 3... esac case条件语句的执行流程逻辑图 2.实践 (1)根据用户输入判断输入的是哪个数字 [root@codis-178 ~]# cat 9_1.sh #!/bin/bash read -p "Please input a number:" ans case "$ans" in 1) echo &qu…
一.if条件语句的知识与实践 1.if条件语句语法(单分支结构) 第一种: if < 条件表达式 > then 指令 fi 第二种: if < 条件表达式 >; then 指令 fi 嵌套: if < 条件表达式 > then if < 条件表达式 > then 指令 fi fi 2.多分支结构 if < 条件表达式 > then 指令 else 指令 fi if < 条件表达式 > then 指令 elif < 条件表达式 &…
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常有用的 Unix 命令:shift.我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*.若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等…
shell 的for循环 的格式如下: for 变量  in 列表 do ... done 列表是一组值的序列 每个值通过空格隔开 每循环一次,列表中的下一个值赋给变量 in 列表是可选的,如果不用他,for循环使用命令行的位置参数 例子 输出列表中的数字 for x in 1 2 3 4 5 do echo $x done 输出 列表中中的字符串 for x in "this is my girl" do echo $x done 输出目录下的所有文件 for fi in * do…
shell的条件判断语句有三种 if...fi  语句 if...else...fi  语句 if...elif...fi  语句 例子: a=10; b=20; if [ $a -gt %b ] then echo "a>b" elif [ $a -lt $b ] then echo "a<b" else echo "a==b"; fi [] 中为判断表达式,表达式需要雨[] 有一个空格隔开,否则报错 if 后面需要有then 来执…
shell中 echo 和printf 都能用作输出,printf可以算是echo的增强版 显示转义字符 echo \""abcdef\"" >>> "abcdef" 显示变量 age=23 echo "my age is $age" >>>my name is 23 在使用的过程中,为了避免引起歧义,多使用${age} 显示换行 echo “ok\n“ echo "my name…
变量命名规范 在bash中,变量的默认类型都是字符串型,定义 name = 'kk' 变量分类 用户自定义变量.变量自定义的 环境变量:这种变量中主要保存的是和系统操作环境相关的数据.变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的 位置参数变量:这种变量主要是用来向脚本当中传递参数或者数据的,变量名不能自定义,变量作用是固定的 预定义变量:是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的 变量调用 echo $变量名 例如 echo $x echo $name 变…
shell脚本基础 shell是一个命令行解释器,她为互用提供了一个想linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至编写一些程序. shell还是一个功能相当强大的编程语言,易编写,易调试,灵活醒较强.shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令 脚本的执行 1 echo输出命令 echo [选项][输出内容] 选项: -e : 支持反斜线控制的字符串转换 控制字符 作用 \a 输出警告音 \b 退格键,也就是像左删…
/bin/sh与/bin/bash的区别sh:如果前面有语句报错,则报错语句后面的命令不执行bash:如果前面有语句报错,后面的命令也会执行sh跟bash的区别,实际上就是bash有没有开启posix模式的区别(遵循posix的特定规范,有可能就包括这样的规范:“当某行代码出错时,不继续往下解释”) 脚本第一句:#!/bin/sh 等同于 #!/bin/bash --posix 第一个shell脚本#!/bin/bash#author wangxiangyu# 2017-05-29echo 'w…
http://blog.csdn.net/gyanp/article/details/7258356 经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用 /tmp/test.sh > /tmp/test.log 2>&1 前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢? 要解释这个问题,还是得提到文件重定向.我们知道>和<是文件重定向符.那么1和2是什么? 在shell中,每…
原文 在linux下编程的程序猿都知道shell脚本,就算你不怎么熟悉,也应该听过的吧!那在shell脚本中的死循环该怎么写呢? 对于熟悉C语言的猿人们来说,最简单的死循环应该这样写: ------------------------------------------------------------------------- while(1) { //do something } -------------------------------------------------------…
shell 与 export命令用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序时,系统将创建一个子shell. 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建 的shell.当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell. 从这种意义上来说,用户可以有许多 shell,每个shell都是由某…
一.case语句概述 使用case语句改写if多分支可以使脚本结构更加清晰.层次分明 针对变量不同取值,执行不同的命令序列 case语句结构如下: case 变量值  in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认命令序列 esac #!/bin/bash read -p "请输入一个字符: " key case "$key" in [a-z]|[A-Z]) #假如变量$key在26个大小写英文字母中 echo "您输入的是字母&…
一.Linux信号 1.什么是信号? Linux信号是由一个整数构成的异步消息,它可以由某个进程发给其他进程,也可以在用户按下特定键发生某种异常事件时,由系统发给某个进程. 2.信号列表 [root@codis-178 ~]# trap -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR…
#!/bin/bashecho -n "Count:"tput sccount=0;while true;doif [ $count -lt 40 ]then let count++;sleep 1;tput rctput edecho -n $countelseexit 0;fidone…
Linux echo命令不能显示文件中的内容.显示字符串或者变量功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--help][--version]补充说明:echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开, 并在最后加上换行号.参 数:-n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声:\b 删除前一个字符:\c 最后不加上换行符号:\f 换行但光标仍旧停留在原来的位置:\n 换行且光…
一.当型和直到型循环 1.while循环语句 while < 条件表达式 > do 指令... done while循环执行流程对应的逻辑图 2.until循环语句 until < 条件表达式 > do 指令... done until会在条件表达式不成立时,进入循环体执行指令. 3.基本范例 (1)每隔2秒输出一次系统负载 [root@codis-178 ~]# cat 10_1.sh #!/bin/bash while true do uptime sleep 2 done […
#99乘法表#!/bin/bash #第一种写法 ` #`seq ` 使用反撇号括起来的(不是单引号),表示命令替换 do for j in `seq $i` #seq可以使用变量 do echo -ne "$j*$i=$[$j*$i]\t" # -n取消换行 -e 处理特殊字符,\t相当于tab键, done echo #作用:内层循环结束之后,进行换行 done #第二种写法 ..} #{}将1~9列出,同上`seq 9` do ;b<=$a;b++)) do echo -n…
trap command  signal trap捕获信号(软中断),command一般是linux命令 若为' '表示发生陷阱时为空指令,'-'表示发生陷阱时采用缺省指令 signal: HUP(1) 挂起:一般因终端掉线或用户退出而引发 INT(2)中断:一般因按下"Ctrl+C"组合键引发 QUIT(3) 退出:一般因按下"Ctrl+\"组合键引发 ABRT(6) 异常终止:一般因某些严重的执行错误而引发 ALRM(14) 闹钟:一般是超时时钟到来而引发 TR…