暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

​Linux中的正规表达法

小源学源码 2019-11-08
746

一个人的战场,身边的人都走了,我依然还在更文!

为什么要学习正规表示法

是 Linux 基础当中的基础,虽然也是最难的部分,就好像是金庸小说里面的学武难关:任督二脉!

正规表示法与文件格式化处理

正规表示法用于搜寻、替代、删除一列或多列文字字符串

什么是正规表示法

正规表示法分为 基础正规表示法、延伸正规表示法。

grep 的一些进阶选项和基础正规表示法字符汇整 (characters)

grep [-A] [-B] [--color=auto] 搜索字符串
filename

例如:

dmesg | grep 'eth'

dmesg | grep -n --color=auto 'eth'

dmesg | grep -n -A3 -B2 --color=auto 'eth'

可以看到alias grep=’grep –color=auto’,所以第一幅图都有颜色

搜寻特定字符串

grep -vn 'the' regular_express.txt

反向选择

grep -vn 'the' regular_express.txt

不论大小

grep -in 'the' regular_express.txt

利用中括号 [] 搜寻集合字符

grep -n 't[ae]st' regular_express.txt

搜寻到有 oo 的字符

grep -n 'oo' regular_express.txt

不想要 oo 前面有 g

grep -n '[^g]oo' regular_express.txt

oo 前面不想要有小写字符

grep -n '[^a-z]oo' regular_express.txt

取得有数字的那一行

grep -n '[0-9]' regular_express.txt

想要 the 只在行首列出

grep -n '^the' regular_express.txt

开头是小写字符那一行就列出

grep -n '^[a-z] regular_express.txt


不要开头是英文字母

grep -n '^[^a-zA-Z]' regular_express.txt

^符号,在字符集合符号(括号[])之内之外是不同的!

  • 在 [] 内代表『反向选择』

  • 在 [] 之外则代表定位在行首的意义

行尾结束为小数点 (.) 的那一行

grep -n '\.$' regular_express.txt

要找出哪一行是空白行

grep -n '^$' regular_express.txt

. (小数点):代表『一定有一个任意字符』的意思;
* (星星号):代表『重复前一个 0 到无穷多次』的意思,为组合形态

要找出 g??d 的字符串

grep -n 'g..d' regular_express.txt

至少两个 o 以上的字符串

grep -n 'ooo*' regular_express.txt

要找出 g 开头 g 结尾的字符串

grep -n 'g.*g' regular_express.txt

要找出『任意数字』的行列

grep -n '[0-9][0-9]*' regular_express.txt

限定连续 RE 字符范围 {}
找出 g 后面接 2 到 5 个 o ,然后再接一个 g 的字符串

grep -n 'go\{2,5\}g' regular_express.txt

列出/etc下连接档

ls -l /etc | grep '^l'

『正规表示法的特殊字符』与一般在指令列输入指令的『通配符』不相同

  • 在通配符当中的 * 代表的是 0 ~ 无限多个字符的意思,

  • 在正规表示法当中, * 则是重复 0 到无穷多个的前一个 RE 字符

shell script

是用 shell 的功能所写的一个『程序 (program)』

shell script 的用处:

自动化管理的重要依据:
追踪与管理系统的重要工作:
简单入侵检测功能:
连续指令单一化:
简易的数据处理:

注意事项:

  1. 指令的执行是从上而下、从左而右的分析与执行;

  2. 指令的下达:指令、选项与参数间的多个空白都会被忽略掉;

  3. 空白行也将被忽略掉,且 [tab] 按键所推开的空白同样规为空格键;

  4. 如果读一个 Enter 符号 (CR) ,就尝试开始执行该行 该命令;

  5. 至亍如果一行的内容太多,则可以使用『 [Enter] 』来延伸至下一行;

  6. 『 # 』可做为批注!

执行方法:

直接指令下达:shell.sh 档案必须要具备可读与可执行 (rx) 的权限,然后
•    绝对路径:使用 /home/dmtsai/shell.sh 来下达指令;
•    相对路径:假设工作目录在 /home/dmtsai/ ,则使用 ./shell.sh 来执行
•    变量『PATH』功能:将 shell.sh 放在 PATH 指定的目录内,例如:~/bin/
以 bash 程序来执行:透过『 bash shell.sh 』或『 sh shell.sh 』来执行

软件安装

以原始码的方式来安装软件,也就是利用厂商释出的 Tarball 来迚行软件的安装。

每次安装软件都需要侦测操作系统环境、设定编译参数、实际的编译。

使用的软件管理机制为 RPM 机制,而用来作为在线升级的方式则为 yum  !



文章转载自小源学源码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论