码迷,mamicode.com
首页 > 其他好文 > 详细

正则的一些基础用法

时间:2016-03-21 02:03:42      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:linux正则

sed:sed -e ‘N‘表示跨一行匹配的意思。sed ‘N;N;s/\n/ /g‘ 1.txt

awk:awk -F ‘:‘ ‘{print $3}‘ passwd.txt 显示一冒号为分隔符的第三段($0就是显示那一整行);

  awk -F ‘:‘ ‘{print $1 "aaa" $3}‘ passwd.txt 在第一段和第三段之间加aaa;

  rootaaa0

  binaaa1

  daemonaaa2

  awk -F ‘:‘ ‘$3>5‘ passwd.txt 这里的5如果是数字就可以不加双引号,若果是字符就必须加上双引号。


  awk -F ‘:‘ ‘/root/{print $1,$3} /mysql/{print $1,$3}‘ passwd.txt 显示包含root的行的第一段和第三段,还有包含mysql的。

  

  awk -F ‘:‘ ‘$1 ~ /oo/‘ passwd.txt 让某一段去匹配

  awk的常用变量:NF 用分隔符分割后一共有多少段 NR 行数

  awk -F ‘:‘ ‘{print NF}‘ 显示有多少段

  awk -F ‘:‘ ‘{print $NF}‘ passwd.txt 显示每行的最后一段$(NF-2)倒数第三段

NR

  awk -F ‘:‘ ‘{print NR}‘ passwd.txt显示行号

  awk -F ‘:‘ ‘{print $NR}‘ passwd.txt 显示第一行的第一段,第二行第二段。。。。。

  awk -F ‘:‘ ‘{(num=num+$3)};END {print num}‘ passwd.txt 计算第三段的和;

  egrep -q 禁止所有的输出到标准输出,不管匹配行。如果选中输入行,以 0 状态退出(就是说匹配到的情况不输出出来。)


alias:别名设置alias where=‘pwd‘ 就用where取代了pwd(若想取消这个别名就用:unalias where)。

更改变量:HISTSIZE=2000只能在当前shell中生效,永久生效vim /etc/profile在最后添加信息。

若要变量在所有shell中都可以用,例如a=1,要在所有shell中生效:export a=1即可如果要在所有终端生效在vim /etc/profile里export a=1,如果只有一个用户生效加入到.bashrc里再用source .bashrc
.bashrc 当前用户登录或打开新的shell执行的文件

.bash_logout 退出shell执行文件,echo `date` > /tmp/1.txt source .bash_logout 刷新,下次开机就能看见上次的关机时间。

.bash_profile 用户自己的变量,其他用户不可用

/etc/profile 全局变量

uniq:去重常与sort一起使用(sort 1.txt|uniq -c)

sort:排序 sort -n 升序 sort -r降序 (sort -t : k3 -n 1.txt以冒号为分隔符对第三段进行升序输出)

cut: cut -d ‘:‘ -f1 以冒号为分隔符输出第一段。cut -d ‘:‘ -f1 passwd.txt| cut -c1 以冒号为分隔符输出第一段第一个字符。cut -c1-3也可以是第1到3个字符。


tee:后跟文件名,类似与重定向 >,但是比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上echo "aaaaaaaaaaaaaaaaaaaaaaaaaaa" |tee testb.txt 结果就是显示aaaaa

tr:替换 cat /etc/passwd|tr ‘[a-z]‘ ‘[A-Z]‘ 所有的小写换成大写。

split:切割文件 格式:split -b500 1.txt 加上这个2切开的文件名字就是2aa,2ab...否者就是xaa,xab....



正则的一些基础用法

标签:linux正则

原文地址:http://11353483.blog.51cto.com/11343483/1753210

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!