文本处理工具

文本处理工具
1、查看文件内容
cat -v 显示非打印字符
      -E 显示$
     -T 显示TAB
     -n 显示行号
     -s 将连续的重复空行变成一行
     -A = -vET
less
2、文件截取
head -n 行号 显示前n行
          -行号 显示前n行
          -c 字节数 显示前n个字节
tail -n 行号 显示后n行
       -行号 显示后n行
       -c 字节数 显示后n个字节
       -f 动态显示
3、按列抽取
cut -d 指定分隔符
       -f 选取第几列

截取列,并指定分隔符

clipboard

文本处理工具
paste paste f1 f2 [f3]
paste -s f1 将文件内容变成一行显示 也可以用 tr ‘\n’ ‘\t’ 实现
paste -d “” f1 f2 [f3] 合并后的分隔符,默认TAB
4、按关键字抽取行
grep –color=auto 将匹配的结果着色显示
         -v 反向匹配
         -i 忽略大小写
         -n 显示的结果前增加行号
         -c 仅显示匹配到结果的行数
         -o 仅显示匹配到的字符串
         -q 静默模式,不输出任何信息
             或者 &> /dev/null
         -A# 显示关键字行及向后#行
         -B# 显示关键字行及向前#行
           nmap -v -sP 172.17.252.0/24 |grep -B1 “Host is up”|grep for |cut -d” ” -f5 |wc -l
         -C# 显示关键字向前#行,当前行,及向后#行
         -e 关键字1 -e 关键字2 实现多个选项间的逻辑or关系
         -w 匹配整个单词
         -E 使用扩展正则表达式 或egrep
         -F 不使用正则表达式 或 fgrep
5、收集文本统计数据
wc -m 字符数
      -c 字节 一个汉字3字节,一个单词一字节
      -l 行数
    -w 单词数
6、文本排序
sort -r 执行反方向(由上至下)整理
       -n 执行按数字大小整理
       -f 选项忽略(fold)字符串中的字符大小写
       -u 选项(独特,unique)删除输出中的重复行
       -t c 选项使用c做为字段界定符
       -k X 选项按照使用c字符分隔的X列来整理能够使用多次
uniq 去除连续的重复行要想去除非连续的行,先用sort排序
         -c 显示连续重复的次数
         -d 仅显示重复的次数
         -u 仅显示不曾重复的行
         sort userlist.txt | uniq -c 常配合使用用来统计重复次数排序
7、比较文件
diff -u f1 f2 > diff.log 生成补丁
patch -b f1 diff.log 通过补丁还原文件
正则表达式课后题
留给后人的一笔财富
1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)
cat /proc/meminfo|grep “^[Ss]”
cat /proc/meminfo|grep -i “^s”
cat /proc/meminfo|grep -e ^s -e ^S
cat /proc/meminfo|grep “^s\|^S”
cat /proc/meminfo|grep “^[s\|S]”
2、显示/etc/passwd文件中不以/bin/bash结尾的行

 grep -v “/bin/bash$” /etc/passwd

clipboard

3、显示用户rpc默认的shell程序
grep “^rpc\>” /etc/passwd | cut -d : -f7
grep -w “^rpc” /etc/passwd | cut -d : -f7

clipboard

4、找出/etc/passwd中的两位或三位数
cat /etc/passwd |grep -o “\<[0-9]\{2,3\}\>”

clipboard

5、显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白
字符开头的且后面存非空白字符的行
cat /etc/grub2.cfg |grep “^[[:space:]]\+[^[:space:]]”

clipboard

6、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多
个空白字符结尾的行
netstat -tan|grep “\<LISTEN\>[[:space:]]*$”

clipboard

7、显示CentOS7上所有系统用户的用户名和UID
cat /etc/passwd |cut -d: -f1,3 |grep “\<[[:digit:]]\{1,3\}\>”$

clipboard

注:centos7 系统用户UID<1000
8、添加用户bash、testbash、basher、sh、nologin(其shell
为/sbin/nologin),找出/etc/passwd用户名同shell名的行
cat /etc/passwd | grep “\(^.*\)\>.*\/\1$”

clipboard

9、仅利用df和grep和sort,取出磁盘各分区利用率,并从大到小排序
df |grep ^/dev/sd |grep -o “\b[[:digit:]]\{1,3\}\b%”|sort -rn

clipboard

注:取出磁盘分区dev/sd
!!!以下自己做的不确定对错
1、显示三个用户root、mage、wang、的UID和默认shell
[root@localhost ~]# cat /etc/passwd |grep -E “^(root|mage|wang)” |cut -d: -f3,7

clipboard

2、找出/etc/rc.d/init.d/functions文件行首为某单词(包括下划线)后面跟一个小括号的行
[root@localhost ~]# cat /etc/rc.d/init.d/functions |grep “.*()”

clipboard

3使用egrep取出/etc/rc.d/init.d/functions中其基名

clipboard

4、使用egrep取出上面路径的目录名
[root@localhost ~]# echo /etc/rc.d/init.d/functions |egrep -o “^(/).*\1”

clipboard

5、统计last命令中以root登录的每个主机IP地址登录次数

clipboard

6、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255

clipboard

7、显示ifconfig命令结果中所有IPv4地址
[root@centos6 ~]# ifconfig |grep -w “inet addr” |tr -s ” ” “:” |cut -d: -f4

clipboard

[root@centos6 ~]# ifconfig |egrep -o “([0-9]{3}(\.[0-9]{1,3}){3})”

clipboard

8、将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面

clipboard

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

(0)
jieranjieran
上一篇 2017-07-30 20:28
下一篇 2017-07-30 20:54

相关推荐

  • shell脚本总结

    shell脚本简要总结 脚本调试 bash -n /path/to/some_script检测脚本中的语法错误 bash -x /path/to/some_script调试执行 变量 环境变量 变量声明、赋值:export name=VALUEdeclare -x name=VALUE 变量引用:$name, ${name} 显示所有环境变量: export…

    Linux干货 2016-08-21
  • linux基础学习之进程管理和任务计划

    内容:   进程相关概念(用户空间、内核空间,进程、线程)   进程及系统相关工具(ps、top、pgrep、pidof、kill)   调整nice值(nice、renice)   作业管理(jobs、fg、bg、kill,&)   计划任务(at、crontab) 一、进程相关概念 内核的功用:进…

    Linux干货 2016-09-07
  • find文件:就是这么简单

    概述 由于Linux一切皆文件,我们的日常运维工作其实就是与文件打交道的事,如何能够快速而有效地找到我们需要的文件呢?这是个令人头疼的问题。幸运是,Linux为用户提供了强大的查找工具——find。find通过遍历指定路径完成文件查找,它的的工作特点: 精确查找——多查询条件组合,精确匹配; 实时查找——遍历指定路径; 查找速度稍慢——由于需要遍历路径,速度…

    Linux干货 2016-08-18
  • N22-第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) (1)POST:加电自检,利用COMS里记录的配置信息检测硬件是否都工作正常 (2)Boot Sequence: 按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备 Grub引导程序:提供一个菜单,允许用户选择要启动的系统或不同的内核版本, 把用户选定的内…

    Linux干货 2016-10-25
  • vim编辑器整理(无演示)

    vim编辑器 vim编辑器是linux中最强大的全屏幕纯文本编辑器,他是vi编辑器的增强版。 文本编辑器: 文本:纯文本,在ASCII角度讲是纯粹的不加任何修饰的文本信息     支持Unicode编码方式 文本编辑器种类: 行编辑器:sed 全屏编辑器:nano,vi vi : (VIsual&n…

    Linux干货 2016-08-10
  • 第二周作业

    # 第二周作业 ##1.文件管理类命令 ###cp   复制 * 单元复制 如果目标文件不存在,会自动创建 如果已经存在,会覆盖 * 多源复制 目标必须是目录,分别复制每个文件至目标目录中,并保持原名 > -i: 交互提醒 > -f: 强制覆盖,不交互 > -r: 递归复制目录 > -d: 如果复制的是符号链接,不找源文件,…

    Linux干货 2016-12-09