day eleven 正则表达式以及shell基础学习

正则表达式

正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。

生活中处处都是正则:

二 grep

参数

-n :显示行号

-o :只显示匹配的内容

-q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

-l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl ‘root‘ /etc

-A :如果匹配成功,则将匹配行及其后n行一起打印出来

-B :如果匹配成功,则将匹配行及其前n行一起打印出来

-C :如果匹配成功,则将匹配行及其前后n行一起打印出来

--color

-c :如果匹配成功,则将匹配到的行数打印出来

-E :等于egrep,扩展

-i :忽略大小写

-v :取反,不匹配

-w:匹配单词

^ 行首

$ 行尾

. 除了换行符以外的任意单个字符

* 前导字符的零个或多个

.* 所有字符

[] 字符组内的任一字符

[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)

^[^] 非字符组内的字符开头的行

[a-z] 小写字母

[A-Z] 大写字母

[a-Z] 小写和大写字母

[0-9] 数字

一 什么是shell script

  将OS命令堆积到可执行的文件里,由上至下的顺序执行文本里的OS命令 就是脚本了.

  再加上些智能(条件/流控)控制,就变成了智能化脚本了.

回到顶部

二 变量

part1 为何要有变量

程序的运行就是一些列状态的变量->用变量值的变化去表示

part2 变量命名规则

以字母或下划线开头,剩下的部分可以是:字母、数字、下划线.

最好遵循下述规范:

1.以字母开头

2.使用中划线或者下划线做单词的连接

3.同类型的用数字区分

4.对于文件最好加上拓展名

例如: sql_bak.tar.gz,log_bak.tar.bz2

part3 系统变量

set 和 env区别

set:显示所有变量

env:环境变量

part4 变量赋值

VARNAME=VALUE

echo $VARNAME

删除变量 unset VARNAME

part5 常用系统变量

PATH,PWD,LANG,HOME,HISTSIZE,PS1,IFS域分隔符 是空格,换行,TAB键的合集

三 运算符

part1 算术运算符

+,-,*,/,%

[[email protected] ~]# echo $[3+1]

4

part2 关系操作

与(())连用

<

>

<=

>=

==

!=

&&

||

part3 赋值运算符

=

+=

*=

/=

%=

时间: 2024-09-29 04:12:48

day eleven 正则表达式以及shell基础学习的相关文章

linux基础正则表达式、shell基础、文件查找和压缩

linux基础正则表达式.shell基础.文件查找和压缩 1.shell编程显示电脑的基本信息,初级基础脚本.只适合6.7版本的. COLOR="\033[1;36m" COLOREND="\033[0m" echo -e "CPU type is $COLOR `lscpu |grep 'Model name'|tr -s ' '|cut -d: -f2`$COLOREND" echo -e "Disk space is $COLOR

Shell基础学习小结

0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本身的限制和效率问题,以下情况一般不推荐Shell: 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等). 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理). 有跨平台(操作系统)移植需求(一般使用C 或Java)

Linux Shell基础学习(一)

shell脚本是什么呢?简单来说,它就是许多命令的一个集合:Shell脚本是一个面向过程的编程语言,它是通过解释器来解释运行脚本里的每一条命令: 面向过程的编程语言的元素:变量.数组.流程.函数 下面就来学习一下Shell脚本吧! 一.变量      变量:可以理解它为一个命名的内存空间,里面的数据是可变的 1.变量命名法则: (1).只能使用数字.字母或下划线,而且不能以数字开头 (2).不能使用系统中的关键字:比如if,elif,fi,then,for...等 (3).见名知义 2.变量类型

shell基础学习系列一:第一个shell脚本

打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行. 输入一些代码: #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 作为可执行程序 将上面的代码保存为test.sh,并 cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执

shell基础学习系列二:变量

Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 变量定义举例: myUrl="http://see.xidian.edu.cn/cp

ArchLinux下Shell基础学习

首先来认识脚本语言:通常指的是命令行界面的解析器.(来自维基的解释) 第一部分:认识Shell 大家可以看到这里使用了#!/bin/sh和!/bin/bash.可是俩者有什么区别呢?下图有解释. sh是bash的软连接.sh对应的bash命令完整参数是:/bin/bash --posix(这里感谢Yiffy) 第二部分:转换命令使用 这里可以看到我使用了tr替换命令(\0是null字符,\n表示换行). 字符换行,那么如果不换行张什么样子呢? 第三部分:基本Shell认识 这里是一个基本认知.S

shell基础学习

#! /bin/bash #设置只读变量,只读变量不可修改myUrl="http://www.baidu.com"readonly myUrl #删除变量,unset不能删除只读变量myUrl1="http://www.sina.com"unset myUrl1 #运行shell时会同时存在三种变量#局部变量,环境变量,shell变量 #单引号:单引号中不能有变量,不能有单引号#双引号:双引号里可以有变量,可以出现转义字符.your_name="qinjx

Shell基础学习(二) Shell变量

1.数据类型: 字符串 数组 2.变量的命名规范: 只能以a-z或A-Z开头 中间不能有空格,可以使用_ 不能使用标点符号 不能使用shell的关键字 3.变量类型: 环境变量 局部变量 shell变量 4.字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号: 完全按引号中的内容输出,内部变量无效,转义字符也无效 双引号: 可以解析内部变量,可以出现转义字符 拼

Shell基础学习(四) echo命令

1.显示普通的字符串 echo "boring" 2.显示转义字符 echo "\"It is a test!\""; 3.read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 #!/bin/sh read name echo "$name It is a test" 以上代码保存为 test.sh,name 接收标准输入的变量,结果将是: [[email protected] ~]# sh t