✨✨个人主页:沫洺的主页
📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏
📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专栏
📖Docker专栏📖Reids专栏📖MQ专栏📖SpringCloud专栏📖Linux专栏
💖💖如果文章对你有所帮助请留下三连✨✨
🍓文件操作
🥭grep
参考文章: grep命令
grep [OPTIONS] PATTERN [FILE...]
- --color=auto 对匹配到的文本着色显示
- -v 显示不被pattern匹配到的行
- -i 忽略字符大小写
- -n 显示匹配的行号
- -c 统计匹配的行数
- -o 仅显示匹配到的字符串
- -q 静默模式,不输出任何信息
- -A # after, 后#行
- -B # before, 前#行
- -C # context, 前后各#行
- -e 实现多个选项间的逻辑or关系
- grep –e ‘cat ’ -e ‘dog’ file
- -w 匹配整个单词
准备test.txt文件
vim test.txt
i开启输入模式 ESC输入:wq!强制保存并退出
内容如下:
dlf test dlfthink www.baidu.com TEST 123 Dlf's lemon grep Grep abc abc123abc 123dlf123 [www.baidu.com]
查看文件
cat test.txt
1) grep -i "test" test.txt 搜索出含有“test” 字符串(-i:不区分大小)
2) grep -i -n "test" test.txt 搜索出含有“test” 字符串,并打印行号
3) grep -i -n --color "test" test.txt 搜索出含有“test” 字符串,并打印行号,关键字“test”颜色标记(centos7系统默认为grep命令配置了别名,所以不使用—color也能显示颜色,openEuler全兼容centos )
4) grep -i -c "test" test.txt,打印“test”字符串(不区分大小写)显示的次数
5) grep -i -o "test" test.txt,打印“test”字符串(不区分大小写),但不打印整行
准备test2.txt文件
vim test2.txt
i开启输入模式 ESC输入:wq!强制保存并退出
test2.txt文件内容如下:
姓名:测试1 年龄:18 身高:178 姓名:测试2 年龄:23 身高:188 姓名:测试3 年龄:21 身高:165
6) grep -A1 “18” test2.txt,打印“18”字符串和它下一行的信息
7) grep -B1 “18” test2.txt,打印“18”字符串和它上一行的信息
8) grep -C1 “18” test2.txt,打印“18”字符串和它上一行和下一行的信息
9) grep -w "dlf" test.txt,精确匹配出“dlf”字符串的
10) grep -v "dlf" test.txt,匹配出不包含“dlf”字符串的行
11) grep -e 'abc' -e 'dlf' test.txt,同时显示匹配”abc”或”test”字符串
🍐nl
参考文档: Linux之nl命令
- -b a 无论是否是空行都列出行号
- -b t 空行不列出行号(默认)。
- -n ln 行号在显示栏的最左边显示。
- -n rn 行号在显示栏的最右边显示,不填充0。
- -n rz 行号在显示栏的最右边显示(默认)。
- -w 行号显示栏占用的位数,(默认是6位)。
- -p 在逻辑定界符处不重新开始计算
准备文件nl.txt
vim nl.txt
i开启输入模式 ESC输入:wq!强制保存并退出
内容如下
入门小站 rumenz ping 入门
用nl列出nl.txt的行号
用nl列出nl.txt的行号,包括空行
行号前面填充0
行号显示栏占3位,并且填充0
使用定制的编号分隔符
🍊more
参考文章: Linux之more命令
命令格式
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
🍋less
参考文章: Linux之less命令
Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分。less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后面看,但若使用了less时,就可以使用 [pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
命令格式
less [参数] 文件
🍈head tail
参考文章: Linux 命令学习(1): head和tail
head
head 命令可以将一段文本的开头一部分输出到标准输出。
head命令既可以处理文本文件也可以处理标准输入。
处理文本文件:
当有多个文件输入时,head会顺序处理并输出:
处理标准输入:
可选参数
-n: 输出的行数 后面也可以跟负数比如-5 表示除了后5行以外的全部内容。
-c: 输出的字节数 没有默认值,所以后面必须跟数值。可以是负数,表示输出除了后N个字节以外的内容。
head -c 5 input.txt # 5 bytes head -c -5b input.txt # 5*512 head -c 5k input.txt # 5*1024 head -c 5m input.txt # 5*1048576
tail
将一段文本的结尾一部分输出到标准输出,也就是从倒数第N个位置开始输出。
基本用法
tail的参数基本用法和head完全一样,在此不作赘述。
只有一点需要注意,如果要表达从开头数的位置,例如从第N(比如25)行开始输出,要使用加号:
tail -n +25 nginx.txt
tail +5c nginx.txt #从第5个字节开始打印
常见用法
tail 有一个常见的用法:用来实时查看一个不断更新的log file。例如后台有一个logfile.txt不断更新,我们可以用下面的命令将更新内容打印在屏幕上:
-f: 循环读取
🍇sed修改文件
参考文章: Linux sed 命令
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
在1.txt文件的第四行添加一行,并将结果输出到标准输出,原文不会改变
将1.txt的内容列出并且列印行号,同时将第 2~3 行删除
g 标识符表示全局查找替换