• Linux命令篇(二):文档编辑部分


    💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!

    1、grep 命令

    grep命令主要用于查询文件中的字符串或者应用于正则表达式中,基本语法格式:

    gerp [参数选项] [文件]
    

    常用参数

    • -i:忽略大小写进行匹配。
    • -v:反向查找,只打印不匹配的行。
    • -n:显示匹配行的行号。
    • -r:递归查找子目录中的文件。
    • -l:只打印匹配的文件名。
    • -c:只打印匹配的行数。

    举例说明

    1. 在文件 testfile.txt 中查找字符串 “linux”,并打印匹配的行
    grep linux testfile.txt
    
    1. 在标准输入中查找字符串 “linux”,并只打印匹配的行数
    echo "hello linux! very good!" | grep -c linux 
    
    1. 在当前目录中,查找后缀有info字样的文件中包含 linux字符串的文件,并打印出该字符串的行
    grep linux *info 
    
    1. 以递归的方式在/home/sk/test/目录下查找文件中带有linux字符串的文件,并打印字符串所在行的内容
    grep -r linux /homa/sk/test/
    

    2、rgrep 命令

    rgrep命令等同于 grep -r 命令,主要是用于递归查找文件里符合条件的字符串,基本语法格式如下:

    rgerp [参数选项] [文件]
    

    举例说明

    1. 在当前目录下查找句子中包含"linux"字符串的文件
    rgrep linux *
    

    3、sed 命令

    sed命令主要是利用脚本来处理文本文件

    常用参数

    • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
    • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
    • d :删除,因为是删除啊,所以 d 后面通常不接任何东东
    • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
    • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
    • s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!
    • -e:以选项中指定的script来处理输入的文本文件
    • -n:仅显示script处理后的结果

    举例说明

    手动创建一个test.txt文件,文件内容如下

    hello world
    java script
    python
    linux
    shell script

    1. 在test.txt文件的第三行后面插入一行“this is c++ ”
    sed -e 3a\this is c++ test.txt
    

    使用如上sed命令后,输出结果如下:

    hello world
    java script
    python
    this is c++
    linux
    shell script

    1. 搜索 test.txt文件中有 script 关键字的行
    nl test.txt | sed -n '/script/p'
    2   java script 
    6   shell script 
    
    
    1. 在test.txt文件中找到 script 对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把 pt 替换为 ss
    nl test.txt | sed -n '/script/{s/pt/ss/;p;q}'
    2   java scriss
    6   shell scriss
    # 这里的q是退出命令的意思
    
    1. 数据的查找与替换,sed的查找与替换命令与vi类似,格式如下:
    sed 's/要被取代的字串/新的字串/g'
    # s是查找与替换意思  
    # g标识符代表全局替换意思
    
    sed -e 's/scriss/script/' test.txt  # 将test文件中“scriss”字符替换为“script”
    
    1. 在test.txt文件的最后一行加入“this is linux test !”
    sed -i '$a this is linux test !' test.txt
    > hello world 
    > java script 
    > python 
    > this is c++
    > linux 
    > shell script 
    > this is linux test !
    

    4、tr 命令

    tr命令主要是用于转换或删除文件中的字符

    常用参数

    • -d:删除指令字符
    • [:digit:] :所有数字
    • [:punct:] :所有标点字符
    • [:lower:] :所有小写字母
    • [:upper:] :所有大写字母

    举例说明

    1. 将test.txt文件中的小写字母全部转换成大写字母
    cat test.txt | tr a-z A-Z
    cat test.txt | tr  [:lower:] [:upper:] 
    

    5、expr 命令

    expr命令是一个计算器命令,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串,基本语法:

    expr [表达式]
    

    表达式的说明

    • 用空格隔开每个项;
    • 用反斜杠 \ 放在 shell 特定的字符前面;
    • 对包含空格和其他特殊字符的字符串要用引号括起来

    举例说明

    1. 计算一个字符串“this is linux command”
    expr length "this is linux command"
    
    1. 获取第一个字符数字串的索引位置
    expr index "linux" i
    2
    
    1. 整数的运算过程
    expr 2 + 2
    4
    
    expr 60 / 2 / 2 
    15
    
    expr 20 \* 2  # (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)
    40 
    

    6、wc 命令

    wc命令是一个用于计算数字的命令,可以用来计算文件的个数行数等

    常用参数说明

    • -c:只显示Bytes数。
    • -l:显示行数。
    • -w:只显示字数

    举例说明

    1. 直接用wc+文件,统计的是文件的行数、单词数、字节数
    wc test.txt 
    # 6 45 123 text.txt # test.txt文件的行数为6、单词数45、字节数123
    
    1. 配合find命令查询文件的个数
    find . -type f -name "*.log" | wc -l 
    # 在当前目录下查询以.log结尾的文件个数
    

    7、let 命令

    let命令在linux系统中作为一个计算工具,用于执行一个或多个表达式

    举例说明

    let a = 2 \* 3
    let b = 40 / 4
    echo $a $b
    # 输出结果:6 10 
    

    结束语

    以上总结的命令,主要是针对Linux文档编辑部分日常常用的一些命令,并列举了每个命令高频使用的参数和应用场景,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!

  • 相关阅读:
    k8s集群部署 | 三节点(复用)高可用集群过程参考
    Mendix 创客访谈录|低代码赋能IoT应用开发
    微信小程序(非个人)备案指南
    P03 注解
    按是否手工执行测试的角度划分:手工测试、自动化测试
    spring mvc源码分析之请求分发
    docker笔记
    10. 回归损失最小化
    QtCreator按顺序编译多个子项目
    Web漏洞分析(dvwa、SQL手工注入、sqlmap注入)
  • 原文地址:https://blog.csdn.net/mwm0213/article/details/139337531