特殊符号

   >    或者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. Python 获取文件中最长行的长度和最长行

    1, 使用文件 #vim /etc/motd "1 hello world" 2 ...... yes 3 no you are a shadiao 4 hahh maye you ...

  2. Python之List列表的增删改查

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  3. Create Extraction Zone

    添加C++类,名称为FPSExtractionZone 添加盒体组件,进行公开处理,并设置为随处可见 UPROPERTY(VisibleAnywhere,Category="Componen ...

  4. SpringBoot+BootStrap多文件上传到本地

    1.application.yml文件配置 # 文件大小 MB必须大写 # maxFileSize 是单个文件大小 # maxRequestSize是设置总上传的数据大小 spring: servle ...

  5. CentOS 7安装Redis

    第一步:安装gcc依赖 先通过gcc -v是否有安装gcc,如果没有安装,执行命令 yum install -y gcc(yum install -y gcc-c++) 第二步:下载redis安装包 ...

  6. python第一天,简单输出及基本运算符

    1.安装步骤网上很多详细的图文资料,这里就不一一赘述. 我的环境:win7 64bit +python-3.7.0b2 2.简单的输出(3.0之后和之前的版本略有不同) 1)打开控制台输入python ...

  7. 用Tesseract训练验证码遇到的问题

    1.准备验证码图片 import os from urllib.request import urlretrieve urlPath='http://www.189.cn/portal/captcha ...

  8. MVC传参数给js的时候 如果是数值 变量要进行一下转换才能正确识别 例如var aaa = parseInt('@Model.ClickIndex');

    这是拼接参数的格式 <div id="a1" style="font-size:12px" onclick="location = '@item ...

  9. Springboot Session集群处理

    在集群环境下,常见的基于Session的身份认证就会有一个问题,因为Session是跟着服务器走的,当用户在服务器1登陆成功后,当用户在访问服务器2的时候会因为服务器2没有用户的身份信息而再次跳转到认 ...

  10. (转载)深度学习的weight initialization

    本文转自:谷歌工程师:聊一聊深度学习的weight initialization TLDR (or the take-away) Weight Initialization matters!!! 深度 ...