grep sort uniq wc等几个常用于shell编程的命令

来源:互联网 发布:程序员刷题 编辑:程序博客网 时间:2024/05/19 02:30

 已经学了好久的linux了,可是每到写脚本的时候,就发现原来自己什么都记得不那么熟悉,老是记不清楚这些基础的命令,而正是因为这些的不熟悉,是一个简单的脚本卡到那,好几个小时写不出什么有用的东西,所以决定现在应该把所有字符查找和替换之类的命令再次的熟悉下。

                         

正则表达式 grep 这是一种精确的查找的
元字符是这样一类字符,他们所表达的是不同字面本身的含义;
       包含通配符
   ^   行首定位符
   $   行尾定位符
   .   用于匹配任意单个字符
   *次数匹配元字符 (贪婪表达)
   [] 匹配指定范围任意一个
   [] 匹配指定范围内的
   /{/}    c/{m,n/}
   /< / >  单词牟定符   
   /(/)     再次引用括号里的字符串    这些看了知道什么意思用的时候怎么就老是想不起来呢,面壁,面壁
    正则表达式非为两类
1, 基本正则
2, 扩展正则)
2,选项 –b 在每一行前面加上其所在的块号
         -i
         -n 显示匹配到得行在匹配的文档中所在的行号
         -v 反向查找,只显示不匹配的行
         -h 不显示文件名
         -l  匹配所在行文件的文件名字
         -An
         -Bn
         -Cn
                 以上下文的方式来显示匹配到得串
Egrep(扩展正则表达式) 新增的元字符 =grep -E
   + 匹配1到多个
   ? 匹配0个或1个
   A|b  匹配a 或者b
   ()   字符组
           Eg;匹配ab,或者ac
                  (ab)|(ac)
Cut 【–d(指定分隔符)】

           ifconfig |grep 'inet addr' |grep -v '127.0.0.1' |cut -d: -f2
           | cut -d '' -f1 显示IP地址
          

   /etc/passwd中
   用户ID1 开头后面任意三位数字 显示Id号 和用户本身
   [root@server60 ~]# grep '^[[:alnum:]]/{1,/}:x:[0-9]/{3/}' /etc/passwd |cut -d: -f1
     看着很晕吧,没办法熟悉了就好了,淡定,这些跟我们平常写作文的汉字一样,没有他们我们就没法好好的写出一个好的脚本出来,所以加油吧

Globbing 通配符
   这个可以解决我们在通常的文件操作,比如删除复制等操作的时候,可以方便我们批量的管理一些文件,可以大大的提高工作的效率,所以要常常的去熟悉,书熟记于心。
    * 任意长度的任意字符
    ?任意单个字符
    
    []指定范围内 ,这个通配符和?相似但是比它要更加的精确。
    [!] 不包含指定的范围   ,和上面的通配符类似,只不过是上面的取反
 wc  做字符单词或者行数统计的命令,很好记的一个组合,很实用一定要记住哦,否则到有用的时候想不起来会头痛的。
   -c 显示字节
   -m 多少个字符
   -l  行数
   -w  字数
Sort 排序命令
   Sort [option] filename
 不修改源文件
    选项
      -r ;reverse以相反的顺序来排列
      -n;numeric 依照数字的大小排列
      -f;        排列时将小写字母视为大写字母
      -u;        如果一个出现多次,只显示一次,移除重复的行
      -t         指定排序时所用的栏位分隔符
      -k         指定字段
      -b         忽略每行前面开始处得空格
uniq 检查及删除文本中重复出现的行列
      -u 只显示出现一次的行 
      -d 仅显示文件中连续重复出现的行    这个是uniq的默认选项,如果不指定参数的话
      -c 显示重复的次数

原创粉丝点击