• 文件内容操作


    一、阅读文本内容

    1.连接并显示文件

    cat —Concatenate−用法:cat [选项]... 文件名...

    注意事项

    −结合-n 选项可显示出行号,方便文本定位、了解行数

    −但当内容较多时,阅读不完整

    1. [root@hadoop ~]# cat /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. adm:x:3:4:adm:/var/adm:/sbin/nologin
    1. [root@hadoop ~]# cat -n /etc/passwd
    2. 1 root:x:0:0:root:/root:/bin/bash
    3. 2 bin:x:1:1:bin:/bin:/sbin/nologin
    4. 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. 4 adm:x:3:4:adm:/var/adm:/sbin/nologin
    6. 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    2.分页阅读工具

    more命令

    −用法:more 文件名...

    −不足:往回翻页不方便

    基本交互操作

    −按Enter键下翻一行、空格键下翻一屏

    −按q 或Q 键退出−按/ 键向后查找特定关键字

    1. [root@hadoop ~]# more /etc/passwd #显示内容
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. adm:x:3:4:adm:/var/adm:/sbin/nologin

     less命令

    −用法:less 文件名...

    −优势:支持前后翻页

    基本交互操作

    −按上下箭头键滚动一行

    −按PgUp向前翻页、PgDn向后翻页

    −按q 或Q 键退出−按/ 键向后查找特定关键字

    1. [root@hadoop ~]# less /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. adm:x:3:4:adm:/var/adm:/sbin/nologin
    6. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    二、提取文本的部分行

    1.截取文件首/尾部

    head、tail 命令

    −格式:head [ -n 数字] 文件名

    tail [ -n 数字] 文件名

    不写行数,默认十行

    [root@hadoop ~]# tail /etc/passwd
    

    2.取首/尾应用示例

    查看文件开头的2 行

    1. [root@hadoop ~]# head -n 2 /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin

    查看文件末尾的2 行

    1. [root@hadoop ~]# tail -n 2 /etc/passwd
    2. mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
    3. ntp:x:38:38::/etc/ntp:/sbin/nologin

    3.取文件中段应用示例

    与管道操作的组合

    −head .. .. | tail .. ..

    1. [root@hadoop ~]# cat -n /etc/passwd | head -20 | tail
    2. 11 operator:x:11:0:operator:/root:/sbin/nologin
    3. 12 games:x:12:100:games:/usr/games:/sbin/nologin
    4. 13 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
    5. 14 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    6. 15 nobody:x:99:99:Nobody:/:/sbin/nologin
    7. 16 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
    8. 17 saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
    9. 18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    10. 19 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    11. 20 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

    4.保存命令输出

    重定向操作−用法:cmd1 > 文件路径

    1. [root@hadoop ~]# man ls > file1.txt //保存ls的man手册文档
    2. [root@hadoop ~]# less file1.txt

    三、wc字数统计

    1.文件字数统计

    wc—Word Count

    −用法:wc[选项]... 文件名...

    −统计结果依次为:行数、单词数、字节数

    1. [root@hadoop ~]# wc /etc/passwd
    2. 21 28 944 /etc/passwd

     

    2.字节vs字符统计

    注意事项

    −英文字符占1个字节、中文字符占2~3个字节

    −隐藏的换行符也占用1个字节

    1. [root@hadoop ~]# wc -c file1.txt //按字节数统计
    2. 10088 file1.txt
    3. [root@hadoop ~]# wc -m file1.txt //按字符数统计
    4. 10053 file1.txt

    3.wc-l应用示例

    统计一共有多少用户账号

    1. [root@hadoop ~]# wc -l /etc/passwd
    2. 21 /etc/passwd

    计算/etc/ 目录下.conf配置文件的个数

    1. [root@hadoop ~]# ls -l /etc/*.conf | wc -l
    2. 19

    四、grep文本检索

    1.grep基本用法

     

     

    2.grep检索应用示例

    过滤配置文件的有效行

    −忽略文件内的注释行、忽略空行

    −注释行以# 号开始

    3.使用扩展正则表达式

    查找多个关键词,匹配任一个都输出

    −用法:grep-E '关键词1|关键词2

    −与egrep命令等效

    1. [root@hadoop ~]# grep -vE '^#|^$' /etc/default/useradd
    2. GROUP=100
    3. HOME=/home
    4. INACTIVE=-1
    5. EXPIRE=
    6. SHELL=/bin/bash
    7. SKEL=/etc/skel
    8. CREATE_MAIL_SPOOL=yes
    9. [root@hadoop ~]# egrep -v '^#|^$' /etc/default/useradd
    10. GROUP=100
    11. HOME=/home
    12. INACTIVE=-1
    13. EXPIRE=
    14. SHELL=/bin/bash
    15. SKEL=/etc/skel
    16. CREATE_MAIL_SPOOL=yes

    4.练习

    列出/proc/cpuinfo文件中的processor 行(CPU核心记录)

    1. [root@hadoop ~]# grep 'processor' /proc/cpuinfo
    2. processor : 0

    列出/proc/cpuinfo文件中的physical id 行(物理CPU记录)

    [root@hadoop ~]# grep 'physical id' /proc/cpuinfo
    

    列出系统中使用/bin/bash作登录Shell的用户记录

    1. [root@hadoop ~]# grep 'bin/bash' /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

  • 相关阅读:
    spring5.0源码解析 Aop 03 生成AopProxy对象
    微信公众号开发基本流程(记录初级流程)
    8.并发编程之Automic&Unsafe魔法类详解
    【LeetCode】1154.一年中的第几天
    java&正则表达式(Pattern类和Matcher类)
    Unity 2021.x 与 Visual Studio 2013 的调试问题
    【自监督论文阅读笔记】Geography-Aware Self-Supervised Learning
    Vue学习之--------路由(Router)的基本使用(1)(2022/9/5)
    netcat详细使用
    从Redis的架构看Redis使用优化方面的几个要点
  • 原文地址:https://blog.csdn.net/m0_55834564/article/details/126311336