linux中重定向正则输出

接着我们上篇所学的内容了解一个桥接模式

第一步:首先新建一个网卡

网络连接选择桥接模式

第二步:打开物理机的网络连接,选择一下连接那个

第三部:找到我们的虚拟网络

更新设置一下

然后在这里选择我们要连接的外部网络

如果网卡失败:

(1)检测配置文件是否正确

(2)检测虚拟编辑器有没有选对(网卡类型)

(3)可能是自动分配不到ip地址

输出重定向

标准输出:是将信息输出在终端

标准错误输出:在执行命令的过程中所产生错误信息也是输出在终端

标准输出:从键盘输入

标准输出重定向

作用:将本来要显示在终端上的信息重定向到一个文件中

实现方法:

> 将文件中原有的内容全部删除,然后进行写入

>> 在文件原有的内容,追加新的内容

(例子1 >):

(例子2 >>)

标准错误输出重定向

2>将文件中原有的内容全部删除,然后进行写入

2>>在文件原有的内容,追加新的内容

例子1:

例子2:

将正确的和错误的信息都保存到同一个文件中

ls /dad / $> 1.txt

2.通配符

1.*任意长度的任意字符

例子:删除根下以a开头文件

rm -rf a*

2.?一个长度的任意字符

例子:删除跟下文件名第二个是a的文件

rm -rf ?a

3.链接多个命令

cd - ;cd -

&& 只有前面的命令执行成功,后面的命令才会执行

|| 只有前面命令执行失败,后面的命令才会执行

4.#注释行(描述信息,不执行)

5.| 传递命令的执行结果

6.~ 家目录

7.-上一次所在的目录

8.$变量前加的符号

9./路径分隔符(或者根)

10."> >>" 重定向

11.<< 用来打印菜单

12.引号

' ' :弱引用,引用的内容原样输出

" " :强引用,引用中变量会变成变量的值

``:命令替换

13点(.)

表示当前目录

..上一级目录

  1. { }

用法:

mkdir {1..10}.dir

正则表达式

构成:一堆特殊符号和字母构成--元字符

作用:通过对文本中内容进行过滤,然后对文件中的内容进行过滤

正则表达式的种类:

基础正则表达式

扩展正则表达式

通常结合三个命令来使用:

grep

sed

awk

grep命令

作用:对文本中的内容进行过滤

格式:grep 选项 匹配内容 文件

选项:

-v :取反

-o :仅仅显出所匹配的内容

-E :使用扩展

  • i :忽略大小写

例子:从b.txt文件中过滤出包含a.txt的行

例子:从a.txt文件中过滤出不包含b.txt

例子:从a.txt中过滤出仅仅显示root的行

统计a.txt文件中有多少个root

通配符和正则的区别:

通配符是对文件名进行匹配,正则表达式是对文件中的内容进行匹配

正则中元符号:

(1)匹配单个字符

.表示任意一个字符(可以空格 逗号 字母 数字 ......)

例子:匹配a前面有一个字符的行

grep ".a" a.txt

(2)表示范围内中的其中一个

【1234567】表示匹配1或2或3...7

【0-9】匹配所有的数字

【A-Z】匹配所有大写的字母

【a-z】匹配所有小写的字母

【a-Z】匹配所有的字母

例子:匹配文件中包含数字的行

grep [0-9] a.txt

例子:包含字母a的行

grep "a" a.txt

(3):用字符集的方法表达

\[:space:\]\]:表示一个空格 ![](https://file.jishuzhan.net/article/1793885876929957890/08a36cd6a0d93318c269f2922f466aa0.webp) \[\[:digit:\]\]:表示任意一个数字 ![](https://file.jishuzhan.net/article/1793885876929957890/340d0a61c9e00d71cd0acf708f1e7207.webp) \[\[:lower:\]\]:表示任意一个小写字母 ![](https://file.jishuzhan.net/article/1793885876929957890/95a70a54057ec33cbaabb4a4008d13ba.webp) \[\[:upper:\]\]:表示任意一个大写字母 ![](https://file.jishuzhan.net/article/1793885876929957890/b22c34290c5cd007703cc79b9bb100a7.webp) \[\[:alpha:\]\]表示任意一个字母 ![](https://file.jishuzhan.net/article/1793885876929957890/e5a1b29be8c5bb70a4c48433e9d5b654.webp) \[\[:alnum:\]\]:表示任意一个字母+数字 ![](https://file.jishuzhan.net/article/1793885876929957890/0f6ef47a48c4f77d0418a0a53328e504.webp) \[\[:punct:\]\]:表示任意一个标点符号 ![](https://file.jishuzhan.net/article/1793885876929957890/877880babe148d03da50fddf92f1d70f.webp) (4)\^\[

例子:匹配以#开头的行

grep ^[#] file

例子:匹配除了a以外的任意字符

例子:过滤没有包含b.txt的行

例子:过滤出#开头后面有一个空格的行

(5)显示匹配到的行的前若干行

-An:显示匹配到的内容的后n行

-Bn:显示匹配到的内容的前n行

-Cn:显示匹配到的内容的前后各n行

例子:匹配包含txt的行的前3行

(6)次数匹配

"*"前面字符出现了任意次数(0.1.n)

例子:a*

".*"表示任意长度的任意字符

例子:a.*d

复制代码
"?"表示其前面字符出现最多一次
a\{m,n\}b b前面的a至少出现m次,最多n次
-E a{m,n}b
grep -E "a{1,}b" 11.txt b前面的a至少1次最多不限
grep -E "a{1,1}b" 11.txt 1次
grep -E "a?b" 11.txt 1次

(7)位置锚点

^表示以n为开头的行

$表示以n为结尾的行

例子:以"a"为结尾的行

gerp "a$" a.txt

\<n 表示单词首部

n\> 表示单词尾部

^$ 表示空白行

(8)分组

\( \) j将一个内容当作一个整体看待

\1

\2

例子:在11.txt中,过滤出出现过俩个相同数字的行
grep "\([[:digit:]]\).*\1" 11.txt

扩展正则表达式

基础正则:grep [选项] 匹配内容 文件

扩展:

grep -E 匹配内容 文件

egrep 匹配内容 文件

{1, }等同 +:其前面的字符至少出现一次

或 : |

例子:过滤出开头是a(不区分大小写)的行

egrep "^(a|A)" a.txt

egrep "^[aA]" a.txt

相关推荐
树℡独3 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
zhang133830890754 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
酣大智5 小时前
接口模式参数
运维·网络·网络协议·tcp/ip
24zhgjx-lxq6 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
ling___xi6 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
REDcker6 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
Up九五小庞6 小时前
用arpspoof实现100%批量切断192.168.110.10 - 192.168.110.100 断网(双向欺骗)--九五小庞
网络·开源
躺柒6 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
独角鲸网络安全实验室7 小时前
本地信任成“致命漏洞”:数千Clawdbot Agent公网裸奔,供应链与内网安全告急
网络·网关·安全·php·漏洞·clawdbot·信任机制漏洞
ai_xiaogui7 小时前
Tailscale实现家庭与公司网络双向通信教程:子网路由配置详解
网络·tailscale·双向通信·子网路由配置详解·tailscale双向互访