2016.08.04学习笔记

文本管理工具

    1.cat:查看文件,读取键盘输入

        -A:查看文件所有信息

        -n:显示行数

        -s:压缩连续的空行

    2.tac:倒序显示文件内容

    3.rev:行内的内容倒序显示

    3.more:分页显示

    4.less:一页一页显示

    5.head:分行显示,从头开始

        -n:n是数字,显示要查找的行数

        -c:指定获取多少个字节

    6.tail:从后向前显示

        -n:从后向前显示行数

        -c:查看截取的字节数

        -f:显示跟踪文件,(如果有文件输出到tail内,会自动更新显示)

        小技巧,可以用&,表示后天运行程序

    7.cut:截取命令

        -d:以什么字符截取

        -f:显示截取的第几列

        -c:按字符数切割 整列的前多少个字符

        例:cat /etc/passwd | cut -d: -f3

                表示用:分割,取第3列

        –output-delimiter=*    :表示用*号替换分隔

    8.paste:合并两文件内容

        -d:指定分隔符

        -s:压缩成一行 自己文件列成一行,第二行表示是第二个文件列变成行

    9.wc:统计行数

        格式:行数   单词数   字符数   文件名

        -l:表示共有多少行

        -w:表示单词数

        -c:表示字节数

        -m:表示字符数

        例:cat /etc/passwd |wc -l    这个文件有多少用户(多少行)

    10.sort:文本排序

        -r:反向排序

        -n:按数字大小排序

        -t:以什么字符分隔选取

        -k:选取多少列

        -f:忽略大小写

        例:cat /etc/passwd | sort  -rn -t: -k3 用户按UID从大往小排序

        -u:删除输出中的重复行

    11.diff:比较两个文件的不同

        格式:diff file1 file2

文本处理工具

    1.grep:文本过滤

        -i:忽略大小写

        -o:显示匹配文本

        -v:显示未匹配的行

        -q:不输出任何信息

        -n:显示匹配行号

        -c:显示匹配的行数

        -e:或者的关系

        -A:显示匹配后的多少行    grep -A3

        -B:显示匹配前多少行

        -C:显示匹配上下文多少行

        -w:正行匹配单词   必须是单词,两个单词相连无任何字符的不能匹配

正则表达式

    分为:

        基本正则表达式 BRE

            可以字符匹配、次数匹配、锚定、分组  

            . :匹配任意单个字符;

            [] :匹配指定范围内的任意单个字符

            [^] :匹配指定范围外的任意单个字符

            [:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]

    例:1、显示/proc/meminfo文件中以大小s开头的  

        blob.png

        2、显示/etc/passwd文件中不以/bin/bash结尾的行   

        blob.png

        3、显示用户rpc默认的shell程序

        blob.png

         *:匹配前面的字符任意次,包括0次

        贪婪模式:尽可能长的匹配

            .*:表示任意字符

            \?:最多匹配1次,也可以是0次

            \+:最少匹配1次 可以无穷大

            \{m\}:匹配前面的字符m次

            \{m,n\}:匹配前面的字符至少m次,至多n次

            \{,n\}:匹配前面的字符至多n次

            \{m,\}:匹配前面的字符至少m次

    锚定:

        ^:在整行的开头

        $:在整行的结尾

        \<或者\b:表示单词的开始

        \>或者\b:表示单词的结束

    分组:

        \(\):将一个或多个字符捆绑在一起,当作一个整体进行处理

        括号中匹配到的内容保存在变量中,用\1,\2等可以调用这些变量

        blob.png

        括号中的内容看成整个一个连续的字符

        例:添加用户bash、testbash、basher以及nologin(其shell为/sbin/nologin),而后找出/etc/passwd文件             中用户名同shell名的行

            blob.png

        扩展正则表达式 ERE

            ^ :行首

            $ :行尾

            \<, \b :语首

            \>, \b :语尾

        分组:

            ()

            后向引用:\1, \2, …

        或者:

            a|b

            例:显示当前系统root、mage或wang用户的UID和默认shell

            blob.png

原创文章,作者:landanhero,如若转载,请注明出处:http://www.178linux.com/29876

(0)
landanherolandanhero
上一篇 2016-08-08 16:16
下一篇 2016-08-08 16:16

相关推荐

  • Linux网络相关概念及bash脚本编程练习

    马哥教育网络班第23期+第八周课堂练习 Linux网络相关概念及bash脚本编程练习 习题: 1.请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别 (1)网桥: 橋接器(英语:network bridge),又称网桥,一種網路裝置,負責網路橋接(network bridging)之用。 橋接器将网络的多个网段在数据链路层(O…

    Linux干货 2016-11-15
  • N25-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;~]#fdisk -l #查看已有分区 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 8194047 4096000 83 Linux/dev/sda2 8194048 24578047 8192000 82 Linux swap / Solaris~]…

    Linux干货 2017-02-24
  • 亿级用户下的新浪微博平台架构

    序言     新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA)、高并发访问、低延时的强大后台系统支撑。 微博平台第一代架构为LAMP架构,数据库使用的是MyIsam,后台用的是php,缓存为Memcache。 随着应用规模…

    2015-03-16
  • 文本处理工具和shell脚本基本编程

    文本处理工具 grep 对文本进行搜索获取我们想要的行(关键信息) egrep 支持扩展正则表达式的grep fgrep 快速搜索不支持正则    -v 取反  找出不包含“pattern”的行  -i 忽略字符的大小写  -n 显示行号  -c 显示统计到的行数,等同于wc -l  -o…

    2017-04-09
  • sed vim小练

     1 、删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符  2 、删除/etc/fstab文件中所有以#开头,后面至少跟一个空 白字符的行的行首的#和空白字符 3 、在/root/install.log 每一行行首增加# [root@localhost ~]# sed -n&nbsp…

    Linux干货 2016-08-12
  • 权限管理

    权限管理 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 我们先来看看文件的属性: 权限: r:可获取文件数据(读取文件) w:可修改文件的数据(写入数据) x:可以把此文件提请内核启动为一个进程 (执行) 文件的权限主要针对三类对象进行定义:  owner: 属主, u  grou…

    Linux干货 2016-08-05