特殊符号

   >    或者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符号与正则表达式的更多相关文章

  1. 【转】linux的特殊符号与正则表达式

    [转]linux的特殊符号与正则表达式 第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 . ...

  2. Linux 命令——grep | 正则表达式

    感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (global search regular expression(RE) and print out the line ...

  3. linux的特殊符号与正则表达式

    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...

  4. Linux之特殊符号与正则表达式

    Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然 ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----正则表达式基础

    介绍 虽然我们这一节的标题是正则表达式,但实际这一节只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表达式本身的内容很多,要把 ...

  6. Linux运维正则表达式之grep

    一.什么是正则表达式?简单的说,正则表达式就是一套处理大量的字符串而定义的规则和方法.例如:假设 @代表12345通过正则表达式这些特殊符号,我们可以快速过滤.替换需要的内容.linux正则表达式一般 ...

  7. Linux基础之-正则表达式(grep,sed,awk)

    一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...

  8. Day004_Linux基础命令之特殊符号与正则表达式通配符

    特殊符号: . 点 cd . 表示当前目录 ' '' 单引号,所见即所得 原封不动输出 " ""双引号,里面的特殊符号会被解析运行 `` ====$( ) 先运行() 里 ...

  9. linux中的正则表达式知识梳理

    1. 正则表达式 1.1 正则表达式使用 正则表达式是开发者为了处理大量的字符串和文本而定义的一套规则和方法,使用正则表达式可以提高效率,快速获取想要的内容. 正则表达式常用于linux三剑客grep ...

随机推荐

  1. 网址,域名,IP,主机名的区别

    域名 通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名(又称为一级域名).   二级域名及其以上级别的域名,统称为子域名,有多少个点就是几级域名   顶级域名分为两类 ...

  2. javascript 的类式继承(构造函数)

    <script type="text/javascript"> //类式继承(构造函数) var father = function(){ this.age = 52; ...

  3. 基于【字节】操作的IO接口:InputStream、OutputStream

    InputStream 参考链接:对java中FileInputStream.BufferInputStream的理解 /** * Author:Mr.X * Date:2017/10/9 17:11 ...

  4. lambda创建匿名函数

    1)print map(lambda x: x + 1, [y for y in range(10)]) 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]map(lambda &l ...

  5. 人人开源分模块,非原生html报错,很难查找问题所在,有vue语法

    <!DOCTYPE html> <html> <head> <title>学生表</title> #parse("sys/head ...

  6. Javascript - ExtJs - 数据

    数据(ExtJs Data) Ext.data命名空间 有关数据存储.读取的类都定义在Ext.data命名空间中.Ext的gridPanel.combobox的数据源都是来自Ext.data提供的类. ...

  7. POJ 1458 Common Subsequence 最长公共子序列

    题目大意:求两个字符串的最长公共子序列 题目思路:dp[i][j] 表示第一个字符串前i位 和 第二个字符串前j位的最长公共子序列 #include<stdio.h> #include&l ...

  8. 20165325 2017-2018-2 《Java程序设计》结对编程_第一周:四则运算

    一.码云链接 项目名称FAO 码云链接 二.需求分析 实现一个命令行程序: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确 ...

  9. 【CentOS7.0】虚拟机如何实现扩展存储空间

    写在前面的一些小废话 有时候,虚拟机随着使用,会导致存储不够,这时就需要给虚拟机扩容. 扩容的前提是,此虚拟机没有快照. 扩容时,需要编辑虚拟机设置.为了形成对比,第一张图片是扩容前,第二张图片是扩容 ...

  10. 【VMware vSphere】使用U盘给戴尔服务器安装ESXi6.0系统

    写在前面:          安装ESXi系统需要准备两个U盘,而且Raid已经做好          说明:          两个U盘,一个为启动盘(类似于大白菜),另一个作为安装系统使用(类似于 ...