特殊符号

   >    或者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. MacOS下IntelliJ IDEA关联JDK1.8源码

    1 打开jdk设置,找到具体添加的地方 2 找到自己jdk的源码位置替换掉 3 如果没有源码或者源码没有下载解压,自己下载解压,Mac下安装的自带src.zip和javax-src.zip解压好后,再 ...

  2. Javascript入门(二)变量、获取元素、操作元素

    一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元 ...

  3. Codeforces Round #545 (Div. 2)(B. Circus)

    题目链接:http://codeforces.com/contest/1138/problem/B 题目大意:贼绕口的题目,就是给你两个字符串s1,s2,然后每一个人代表一列,第一列代表技能一每个人是 ...

  4. php编程 之 php基础三

    1,php里的while循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. while实例: <html> <body> <?php $i=1; wh ...

  5. RedisGeo

    redis3.2版本增加了对GEO(地理位置)的支持 操作命令 geoadd(String key, Double longitude, Double latitude, String member) ...

  6. python读取两个文件并且判断是否一致

    ''' 判断两个文件是否相同,如果不同请指出第几行不相同 ''' def f1vsf2(name1,name2): f1 = open(name1) f2 = open(name2) count = ...

  7. “指定的参数已超出有效值的范围”在【 parameterUpdate.Add(new OracleParameter("STATUS", 0));】报错

    改成:parameterUpdate.Add()); 就不报错,并不能知道为什么,有知道为什么的,评论告诉我. /// <summary> /// 插入数据 /// </summar ...

  8. C/C++中 # 的神奇作用:把宏参数字符串化/贴合宏参数

    一.一般用法   我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. #define STR(s) #s #define CONS(a,b) int(a##e##b) printf(ST ...

  9. pytorch1.0 用torch script导出模型

    python的易上手和pytorch的动态图特性,使得pytorch在学术研究中越来越受欢迎,但在生产环境,碍于python的GIL等特性,可能达不到高并发.低延迟的要求,存在需要用c++接口的情况. ...

  10. CentOS6.5 上crontab每天自动备份mysql数据库

    步骤: 1. sudo vi /etc/crontab  #编辑crontab任务 2.输入01 12 * * * root /usr/local/mysql/backup/backup.sh > ...