Linux每日智囊

Linux每日智囊_第1张图片

每日分享三个Linux命令,悄悄培养读者的Linux技能。

grep

作用

搜索文件中符合条件的字符串

语法

grep [选项] "关键字" 文件

参数:

  • -i:忽略大小写
  • -n:列出所有包括关键词的行,显示行号
  • -l:列出文件包括关键词的文件名,不具体到到行
  • -c:列出包括关键词的行的数量
  • -h:查询多个文件时,不显示文件名
  • -v:显示不包括关键词的行
  • -w:匹配整词
  • -x:匹配整行
  • -r:递归搜索
  • -q:禁止输出任何结果,退出状态表示搜索是否成功

案例

  1. 搜索某个文件的关键词
grep "test" test.txt
  1. 在多个文件中搜索关键词
grep "test" test1.txt test2.txt

结果会显示文件名称。

grep -h "test" test1.txt test2.txt

结果不会显示文件名称。

  1. 递归搜索
grep -r "test" *
  1. 输出文件中包含关键词的行数
grep -c "test" test1.txt test2.txt
  1. 忽略大小写搜索
grep -i "Test" test.txt
  1. 查找文件中的关键字,显示行号
grep -n "Test" test.txt
  1. 反向查找
grep -v "test" test.txt
  1. 目录中查找关键词,只显示含有关键词的文件名
grep -l "test" \dir1\dir2
  1. 精准匹配
grep -x "test" file.txt
  1. 判断文件是否有关键词
grep -q "test" test.txt

注:grep -q不输出结果,通过返回状态值判断是否包含(0是包含,1是不包含)。echo $?来打印上次结果的返回状态值。

egrep

作用

搜索指定的字符串

语法

egrep [选项] "关键字" 文件

参数:

  • -i:忽略大小写
  • -n:列出所有包括关键词的行,显示行号
  • -l:列出文件包括关键词的文件名,不具体到到行
  • -c:列出包括关键词的行的数量
  • -h:查询多个文件时,不显示文件名
  • -v:显示不包括关键词的行
  • -w:匹配整词
  • -x:匹配整行
  • -r:递归搜索
  • -q:禁止输出任何结果,退出状态表示搜索是否成功

功能与grep命令相同,egrepgrep的加强版,支持正则表达式grep只支持字符串的搜索和匹配。

案例

  1. 查找包含至少一个t的内容
egrep "a+" test.txt
  1. 查找包含a或b的内容
egrep "a|b" test.txt
  1. 包含关键词整体的内容
egrep "(test)" test.txt
egrep "(test)+" test.txt
  1. 查找以什么关键词开头或结尾的内容
egrep "^test" test.txt
egrep "test$" test.txt

重定向符

作用

将命令或程序的输入和输出流定向到文件或设备

语法

>:将命令的标准输出重定向到指定的文件中,并覆盖原有内容。

<:将指定文件的内容作为命令的标准输入。

>>:将命令的标准输出重定向到指定的文件中,并将输出结果追加到文件末尾。

<<:将命令的标准输入设置为指定的文本块。

注:重定向符可以与nohup搭配保存日志。

案例

  1. 将文件内容重定向到其他文件,覆盖
cat test.txt > test1.txt
  1. 查找关键词
grep "test" < test.txt
  1. 将文件内容重定向到其他文件,追加
cat test.txt >> test1.txt
  1. 将程序运行信息输出到日志文件
python run.py > log.txt

覆盖原文件内容

python run.py >> log.txt

追加原文件

python run.py 1> log.txt

标准输出重定向

python run.py 2>> log.txt

标准错误输出重定向

python run.py >> log.txt 2>$1

标准输出和标准错误输出重定向

2>$1的含义是将标准错误输出到标准输出的重定向文件中。

往期回顾

[1] 解锁Linux之谜:自由、安全、强大的操作系统

[2] Linux每日智囊-“man,cd,pwd”

[3] Linux每日智囊-“info,tree,stat”

[4] Linux每日智囊-“whatis,touch,which”

[5] Linux每日智囊-“mkdir,rmdir,rm”

[6] Linux每日智囊-“ls,wc,nl”

[7] Linux每日智囊-“mv,cp,md5sum”

[8] Linux每日智囊-“rename,basename,dirname”

[9] Linux每日智囊-“chown,chgrp,chmod”

[10] Linux每日智囊-“cat,more,less”

[11] Linux每日智囊-“find,chattr,file”

欢迎关注公众号

Linux每日智囊_第2张图片

你可能感兴趣的:(Linux学习,linux,服务器,运维)