linux符号与正则表达式
特殊符号
> 或者1> 标准输出重定向 先把文件的内容清空 再放入新的内容
>> 或 2>> 追加重定向 把内容放入文件的最后一行
1 表示执行正确的内容才能通过漏斗
2> 标准错误重定向 错误的内容才能通过漏斗
2>> 错误追加重定向 eho hello >>/data/oldboy.txt 2>&1 对的错的都放入文件中
< 输入重定向 给文件能容分列xargs -n2 </data/num.txt 把文件内容分为两列
<< 追加输入重定向 逐行输入内容
cat >>/data/oldboy.txt<<EOF
I
am
studying-
linux
EOF
~ 当前用户的家目录 root ~ ==/root oldboy~ ===/home/oldboy
! 查找并运行历史命令 !awk 包含awk的命令 运行最近的一条
history |grep awk awk历史命令
# 注释 或root用户的命令提示符
$ 取出变量的内容
awk $取出某一行的内容 或普通用户的命令提示符
* 表示所有
\ 转义字符 或撬棍
\n 换行符
\b 单词边界
\r 回车
\t 横向制表符
\. 普通字符小数点消除.点的正则
&& 前一个命令执行成功然后执行后一个命令
|| 前一个命令执行失败再执行后面的命令
$( ) ()里的结果留下交给前面的命令处理 #cp $(find /app/logs/ -type f -name "*.log") /tmp/a/
$( )=== `` 反引号
' ' 不具有变量置换功能,输出时所见即所得
" " 具有变量置换功能,解析变量输出
; 多条命令同时依次执行 相互不依赖
{ } 生成序列 # echo {1..10} echo stu{01..10} 用作备份cp oldboy.txt{,.bak}
正则表达式
基础正则BRE grep 、sed 、awk
^ 以某某字符开头
$ 以某个字符结尾
^$ 表示空行 不是空格
. 点表示任意字符
* 重复上一个字符0次或>=1次
.* 表示所以字符
^.* 以任意多个字符开头
.*$ 以任意多个字符结尾
[ ] 匹配字符串内的任意一个字符,如[abc]匹配a或b或c,[a-z]匹配所有小写字母
[^ ] 匹配不包含字符串内的任意字符,取反
扩展正则ERE egrep、sed -r、awk
+ 重复上一个字符一次或一次以上,常与[ ]使用 [0-9]+匹配连续数字
? 重复上一个字符0次或者一次
{n,m}重复前面a字符n到m次
{n, } 重复前面a字符至少n次
{ ,m} 重复前面a字符最多m次
{n} 重复前面a字符n次
( ) 分组过滤,如()内的内容为一个整体;反向引用:如\1表示引用第一个()里面的内容
| 匹配左边字符或者右边字符
使用举例 执行命令取出 linux 中 eth0 的 IP 地址
[root@oldboyedu01-nb ~]# ifconfig eth0|awk 'NR==2'
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0
[root@oldboyedu01-nb ~]# ifconfig eth0|awk 'NR==2'|awk '{print $2}'
addr:10.0.0.200
[root@oldboyedu01-nb ~]# ifconfig eth0|awk 'NR==2'|awk '{print $2}'|awk
-F":" '{print $2}'
10.0.0.200
或者1 # ifconfig eth0|awk -F "[: ]+" 'NR==2{print $4}'
2# ifconfig eth0|sed -n '2p'|sed -r 's#^.*dr:(.*) Bc.*$#\1#g'
3#ifconfig eth0|sed -nr '2s#^.*dr:(.*) Bc.*$#\1#gp'
如何取得/etc/hosts 文件的权限
stat /etc/hosts |awk 'NR==4'
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/root)
stat /etc/hosts |awk -F "[(/]" 'NR==4{print $2}'
0644
stat /etc/hosts |sed -nr '4s#^.*\(([0-9]+).*$#\1#gp'
0644
stat -c%a /etc/hosts
0644
使用小结 sed 反向引用 awk指定分割符
linux符号与正则表达式的更多相关文章
- 【转】linux的特殊符号与正则表达式
[转]linux的特殊符号与正则表达式 第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 . ...
- Linux 命令——grep | 正则表达式
感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (global search regular expression(RE) and print out the line ...
- linux的特殊符号与正则表达式
第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...
- Linux之特殊符号与正则表达式
Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----正则表达式基础
介绍 虽然我们这一节的标题是正则表达式,但实际这一节只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表达式本身的内容很多,要把 ...
- Linux运维正则表达式之grep
一.什么是正则表达式?简单的说,正则表达式就是一套处理大量的字符串而定义的规则和方法.例如:假设 @代表12345通过正则表达式这些特殊符号,我们可以快速过滤.替换需要的内容.linux正则表达式一般 ...
- Linux基础之-正则表达式(grep,sed,awk)
一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...
- Day004_Linux基础命令之特殊符号与正则表达式通配符
特殊符号: . 点 cd . 表示当前目录 ' '' 单引号,所见即所得 原封不动输出 " ""双引号,里面的特殊符号会被解析运行 `` ====$( ) 先运行() 里 ...
- linux中的正则表达式知识梳理
1. 正则表达式 1.1 正则表达式使用 正则表达式是开发者为了处理大量的字符串和文本而定义的一套规则和方法,使用正则表达式可以提高效率,快速获取想要的内容. 正则表达式常用于linux三剑客grep ...
随机推荐
- python笔记---数据基础类型
s = 'laonanHai' s1 = s.capitalize() #首字母大写,其他字母小写 s2 = s.upper() #全部大写 s3 = s.lower() #全部小写 print(s, ...
- git 重命名 origin
git remote rename origin old-origin git remote add origin https://gitlab.com/wuxianqiang/my-project. ...
- Spring 源码分析 spring-core 篇
先来看下 spring-core 的包结构 总共有6个模块,分别是 asm.cglib.core.lang.objenesis.util asm包: 用来操作字节码,动态生成类或者增强既有类的功能.主 ...
- jsonp实现下拉搜索
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python(九)迭代器和生成器
一.迭代 迭代就是逐个并且单向访问容器 (这里的容器暂时指数据类型,比如list和dict) 中的元素的行为.举个例子:将一个长度为五的数组逐个从头到尾(即单向)打印的方式称之为迭代.如下图. > ...
- learn
1.JQ (随时) 2.微信小程序(关注群,专栏知乎,自己申请一个小程序弄个实战) 3.支付宝小程序(2017.08.18 新生代 类似微信api) 4.vue(优秀的mvvm框架,手机端主流) 5. ...
- RabbitMQ简单应用の公平分发(fair dipatch)
公平分发(fair dipatch)和轮询分发其实基本一致,只是每次分发的机制变了,由原来的平均分配到现在每次只处理一条消息 1.MQ连接工厂类Connection package com.mmr.r ...
- Springboot实体类转JSON报错Could not find acceptable representation & 设置访问项目根路径的默认欢迎页面
=================实体类转JSON报错的解决办法============= 之前在springmvc的时候也报过这个错,原因以及springmvc中解决办法参考:https://www ...
- MySQL数据库的锁详解【转】
当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一. 为什么要懂数据库锁? 通常来说对于一般的开发人员,在使用数据库的时候一般懂点 DQL(select),DML(in ...
- smarty半小时快速上手教程
一:smarty的程序设计部分: 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计.下载Smarty文件 ...