• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > linux文本处理工具及正则表达式集锦

linux文本处理工具及正则表达式集锦

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux 正则表达式,linux中的正则表达式,linux grep正则表达式,linux sed 正则表达式,linux 使用正则表达式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

cat命令:查看文本内容

         cat [选项]... [文件]...

         -E    显示行结束符

         -n    显示文本内容时显示行号

         -A    显示所以控制符

         -b    非空行编号

         -s     压缩连续的空行成一行

[root@bogon ~]# cat -n /etc/issue > test.txt    ##查看文件内容并显示行号,重定向到test.txt文件中
[root@bogon ~]# cat test.txt 
  1 \S
  2 Kernel \r on an \m
  3 
[root@bogon ~]# cat > file <<EOF    ##创建file文件,输入内容以EOF结束
> kernel \r on an \m
> EOF
[root@bogon ~]# cat file 
kernel \r on an \m
</div>

more       分页显示

         more [OPTIONS...] FILE...

less  分页显示,是man命令使用的分页器

[root@bogon ~]# less /etc/httpd.conf
[root@bogon ~]# cat /etc/httpd.conf |more

head命令 :

         head [OPTION]... [FILE]...

    -n  显示文件前n行,默认显示前10行

    -c # 显示文件前#个字节内容

    -q  不显示包含给定文件名的文件头

[root@bogon ~]# head -5 /etc/fstab     ##显示文件前5行
#
# /etc/fstab
# Created by anaconda on Mon May 1 04:49:06 2017
#
[root@bogon ~]# head -q -n 5 /etc/fstab /etc/issue    ##显示多个文件前5行,并且不显示文件头
#
# /etc/fstab
# Created by anaconda on Mon May 1 04:49:06 2017
#
\S
Kernel \r on an \m  
</div>

tail命令:

tail [OPTION]... [FILE]...

         -f   实时查看,常用监控日志文件

   -c #   显示后#字节

   -n #  显示后#行,默认显示行10行

[root@bogon ~]# tail -2 /etc/passwd    ##显示文件后2行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[root@bogon ~]# tail -f /var/log/messages    ##不停地去读最新的内容,有实时监视的效果,用Ctrl+c来终止
May 2 02:46:26 localhost systemd: Configuration file /usr/lib/systemd/system/wpa_supplicant.service is marked executable. Please remove executable permission bits. Proceeding anyway. May 2 02:46:26 localhost yum[16325]: Installed: httpd-2.4.6-45.el7.centos.4.x86_64 May 2 03:01:01 localhost systemd: Started Session 10 of user root. May 2 03:01:01 localhost systemd: Starting Session 10 of user root. May 2 03:45:49 localhost systemd-logind: Removed session 4. May 2 03:46:20 localhost systemd: Started Session 11 of user root. May 2 03:46:20 localhost systemd-logind: New session 11 of user root. May 2 03:46:20 localhost systemd: Starting Session 11 of user root. May 2 04:01:01 localhost systemd: Started Session 12 of user root. May 2 04:01:01 localhost systemd: Starting Session 12 of user root.
</div>

 cut命令:

cut [OPTION]... [FILE]...

  -d  指明分隔符,默认tab

  -f  第# 个字段

  #,#[,#] :离散的多个字段,例如1,3,6

  #-# :连续的多个字段,  例如1-6

  混合使用:1-3,7

  -c 按字符切割

  --output-delimiter=STRING指定输出分隔符

 显示文件前10行,以“:”作为分隔符打印第1和第7个字段并分隔符换成空格输出:

[root@bogon ~]# head /etc/passwd |cut -d ":" -f1,7 --output-delimiter="  "  ##查看系统用户使用的shell
root  /bin/bash      
bin  /sbin/nologin
daemon  /sbin/nologin
adm  /sbin/nologin
lp  /sbin/nologin
sync  /bin/sync
shutdown  /sbin/shutdown
halt  /sbin/halt
mail  /sbin/nologin
operator  /sbin/nologin
[root@bogon ~]# ip addr |tail -4 |head -1 |cut -d "/" -f1 |cut -d " " -f6  ##获取ip地址
192.168.25.102
</div>

paste命令:

  paste [OPTION]... [FILE]...

  -d  分隔符: 指定分隔符,默认用TAB

  -s     所以行合并成一行显示

[root@bogon ~]# paste /etc/resolv.conf /etc/issue    ##合并输出两个文件的内容
# Generated by NetworkManager  \S
nameserver 202.106.46.151  Kernel \r on an \m
nameserver 202.106.195.68  
[root@bogon ~]# paste -s /etc/issue    ##对输出的内容独立占一行
\S  Kernel \r on an \m  
</div>

wc命令:统计文件内容

         -l      统计行数

         -w    统计单词个数

         -c     统计字节数

         -m    只计数字符总数

     -L  打印最长行的长度

[root@bogon ~]# cat /etc/passwd |wc -l  ##统计文件的行数
22
[root@bogon ~]# echo "aaa bbb ccc" |wc -w    ##统计输出的单词数量
3
[root@bogon ~]# echo "abcdef" |wc -m    ##统计输出有多少个字节
7
</div>

文本排序:sort [options] file(s)

  -r   逆序排序

  -n   根据字符串数值进行比较

  -f   忽略字符大小写

  -u   去重。配合-c,严格校验排序;不配合-c,则只输出一次排序结果

  -t   使用指定的分隔符代替非空格到空格的转换

  -k 1 在位置1 开始一个key,在位置2 终止(默认为行尾)

[root@bogon ~]# head /etc/passwd |sort -t ":" -k 3nr    ##以“:”分割对第三个字段数值进行倒序排列
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@bogon ~]# cat /etc/passwd |sort -t':' -k 7 -u    ##以“:”分割对第7个字段排序,去重
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
halt:x:7:0:halt:/sbin:/sbin/halt
bin:x:1:1:bin:/bin:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
</div>

uniq 命令:从输入中删除重复的前后相接的行

   uniq [OPTION]... [FILE]...

  -c:  显示每行重复出现的次数;

  -d:  仅显示重复过的行;

  -u:  仅显示唯一的行;

  -i:  比较时不区分大小写

[root@bogon ~]# uniq -c ip.txt     ##显示重复行出现的次数,相邻行且完全一样为重复
   3 101.200.78.99
   1 103.41.52.94
   2 106.185.47.161
   1 101.200.78.99
   2 113.240.250.155
   1 13.0.782.215
   1 185.130.5.231
</div>

文件比较:

diff命令:比较两个文件之间的区别

  -r  递归比较

  -u  输出“统一的(unified )

  patch

您可能想查找下面的文章:

  • linux文本处理工具及正则表达式集锦

相关文章

  • 通过短信发送LOG归类号码发送情况的shell脚本
  • 一个简单的linux命令 pwd
  • shell grep 查找进程的小技巧
  • Ubuntu服务器配置apache2.4的限速功能shell脚本分享
  • linux使用管道命令执行ps获取cpu与内存占用率
  • ssh远程执行命令方法和Shell脚本实例
  • linux shell查看当前外网IP
  • shell监控脚本 准备工作分享
  • ssh,scp自动登陆的实现方法
  • Shell脚本中实现把输入的密码转换为*(星号)的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Bash Shell中的select命令简单使用示例
    • 提取oralce当天的alert log的shell脚本代码
    • Linux进程通信(IPC)方式简介
    • Linux du命令查看文件夹大小并按降序排列
    • Linux vim编辑命令模式
    • 一键配置CentOS iptables防火墙的Shell脚本分享
    • shell学习教程获取命令行参数示例
    • 获取磁盘IO与系统负载Load的shell脚本
    • Shell编程中的特殊变量之位置变量介绍
    • linux使用update-alternatives切换java版本

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有