linux 查看文件/grep字符串匹配命令

这篇具有很好参考价值的文章主要介绍了linux 查看文件/grep字符串匹配命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

cat

用于连接文件并打印到标准输出。可以用 cat 命令将多个文件合并成一个文件,也可以用它来查看单个文件的内容。常用的选项包括 -n(显示行号)和 -b(显示非空行号),例如 cat -n file.txt 可以显示文件的内容,并在每行开头显示行号。

cat -n file.txt //显示文件的内容,并在每行开头显示行号
cat file1.txt file2.txt //连接查看file1和file2文件内容
cat file1.txt file2.txt > merged.txt 
//连接查看file1和file2文件内容并重定向到merge.txt

more

用于分页显示文本文件的内容,每次显示一页,支持向下翻页、向上翻页、前进和退出等操作。常用的命令包括空格(向下翻页)回车键(向下滚动一行)q(退出)b或者上箭头(↑)键向上翻页

less

与 more 类似,也是用于分页显示文本文件的内容,但支持更多的操作和选项。常用的命令包括空格(向下翻页)、b(向上翻页)、g(跳到文件开头)、G(跳到文件结尾)、/(搜索文本)等。相比于 more,less 支持更多的操作,且可以进行反向搜索和高亮显示等功能。

grep

是一种用于在文本文件中搜索指定模式的 Linux 命令。grep 命令通常用于查找文件中包含某个字符串的行或者匹配某个正则表达式的行。它可以搜索一个或多个文件,也可以从标准输入中读取数据并进行搜索。

常用的 grep 选项包括:

  • -i:忽略大小写
  • -v:只显示不匹配的行
  • -n:显示匹配行的行号
  • -l:只显示包含匹配行的文件名
  • -c:只显示匹配行的计数
  • -r:递归搜索子目录中的文件
  • -E:使用扩展的正则表达式语法
  • -w:只匹配整个单词,而不是单词的一部分
  • -A:(after)显示匹配后几行
  • -B:(before)显示匹配前几行

用例

grep [选项] 模式 [文件名...]

grep "error" /var/log/messages
//在/var/log/messages 中查找包含字符串 "error" 的行

grep -v "error" /var/log/messages
//在/var/log/messages 中查找不包含字符串 "error" 的行

grep -n -A 10 -B 10 "error" /path/to/logfile
//查看日志中 error 信息前后十行内容

cat file.txt | grep pattern
//可以使用管道符 | 将多个命令连接起来,使它们的输出和输入进行流式处理。
//因此,可以使用 cat 命令读取文件内容,并将其通过管道传递给 grep 命令进行字符串匹配。

wc

是 Linux 中的一个命令,用于统计文件中的行数、单词数和字符数等信息。

wc 命令的常用选项包括:

  • -l:统计文件中的行数。
  • -w:统计文件中的单词数。
  • -c:统计文件中的字符数。
  • -m:统计文件中的字符数,包括换行符。

正则表达式

grep可以搭配正则表达式使用文章来源地址https://www.toymoban.com/news/detail-734412.html

  • .:匹配任意一个字符,但不包括换行符。
  • ^:匹配行首,在多行模式下匹配每行的开头。
  • $:匹配行尾,在多行模式下匹配每行的结尾。
  • *:匹配前面的字符0次或多次。
  • +:匹配前面的字符1次或多次。
  • ?:匹配前面的字符0次或1次。
  • {m}:匹配前面的字符恰好m次。
  • {m,n}:匹配前面的字符至少m次,至多n次。
  • []:匹配方括号内的任意一个字符。
  • |:匹配左右两边任意一个表达式。
  • \:转义字符,用于匹配特殊字符本身。
grep -E '^(hello|world)' file.txt
//在 file.txt 文件中查找所有最前面包含 "hello" 或者 "world" 的行

grep -E '\b(25[0-5]|2[0-4][0-9]|[1-9][0-9]{0,1}|1[0-9]{2}
|0)\.(25[0-5]|2[0-4][0-9]|[1-9][0-9]{0,1}|1[0-9]{2}
|0)\.(25[0-5]|2[0-4][0-9]|[1-9][0-9]{0,1}|1[0-9]{2}
|0)\.(25[0-5]|2[0-4][0-9]|[1-9][0-9]{0,1}|1[0-9]{2}
|0)\b' test.txt

//匹配test.txt中包含Ipv4地址的行,不含前导零
//25[0-5]:250-255
//2[0-4][0-9]:200-249 
//1[0-9]{2}:100-199
//[1-9][0-9]{0,1}:1-99
//0:0
//\.:'.'转义 \b:匹配单词边界


到了这里,关于linux 查看文件/grep字符串匹配命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)

      字符串(String)是由零个或多个字符(char)顺序排列组成的有限序列,简称为串。例如 “good morning”就是由12个字符构成的一个字符串。一般把字符串记作: S = ′ ′ a 0 a 1 … a n − 1 ′ ′ S=\\\'\\\'a_{0} a_{1}…a_{n-1}\\\'\\\' S = ′′ a 0 ​ a 1 ​ … a n − 1 ′′ ​   其中S是串名,引号中

    2024年02月05日
    浏览(73)
  • 字符串查找匹配算法

    字符串匹配(查找)是字符串的一种基本操作:给定带匹配查询的文本串S和目标子串T,T也叫做模式串。在文本S中找到一个和模式T相符的子字符串,并返回该子字符串在文本中的位置。 Brute Force Algorithm,也叫朴素字符串匹配算法,Naive String Matching Algorithm。 基本思路就是将

    2024年02月14日
    浏览(57)
  • python字符串模糊匹配,并计算匹配分数

    thefuzz包以前叫fuzzywuzzy,0.19版本开始改名为thefuzz,github地址: GitHub - seatgeek/thefuzz: Fuzzy String Matching in Python 可以通过命令pip install thefuzz安装此包。用法还是比较简单的: 上面两个字符串的相似度为89%。 我们先看看这个包下面的源码,来查看thefuzz是怎么实现模糊匹配的。the

    2023年04月23日
    浏览(107)
  • 【kmp算法】字符串匹配

    kmp算法解决的是字符串匹配的问题,具体来说假定我们要在主串s[ ] 中匹配模式串p[ ],找到匹配到的位置loc; 最自然的想法是暴力写法 (BF)枚举主串字符s[ i ] ,和模式串p[ j ]。一个一个匹配,如果匹配失败,i指针回退回起点,往前进一位,再次进行比较,知道匹配成功。

    2024年02月04日
    浏览(76)
  • 字符串匹配-KMP算法

    KMP算法,字符串匹配算法,给定一个主串S,和一个字串T,返回字串T与之S匹配的数组下标。 在学KMP算法之前,对于两个字符串,主串S,和字串T,我们根据暴力匹配,定义两个指针,i指向主串S的起始,j指向字串T的起始,依次比较,如果 主串i位置的值等于子串j位置的值,

    2024年02月14日
    浏览(55)
  • 字符串匹配算法:KMP

    Knuth–Morris–Pratt(KMP)是由三位数学家克努斯、莫里斯、普拉特同时发现,所有人们用三个人的名字来称呼这种算法,KMP是一种改进的字符串匹配算法,它的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。它的时间复杂度是 O(m+n) 字

    2024年02月06日
    浏览(62)
  • 一些常见的字符串匹配算法

    作者:京东零售 李文涛 字符串匹配在文本处理的广泛领域中是一个非常重要的主题。字符串匹配包括在文本中找到一个,或者更一般地说,所有字符串(通常来讲称其为模式)的出现。该模式表示为p=p[0..m-1];它的长度等于m。文本表示为t=t[0..n-1],它的长度等于n。两个字符串都建

    2023年04月25日
    浏览(43)
  • Python 从字符串开始匹配

    从字符串开始匹配单个字符串 从字符串开始匹配多个字符串,匹配字符串以 元祖 的形式存储 re.match() 从字符串的开始进行匹配 Try to apply the pattern at the start of the string, returning a Match object, or None if no match was found. 注意: re.match() 的结果是对象,需要 .group() 获得匹配结果 re.s

    2024年02月13日
    浏览(59)
  • 动态规划--通配字符串匹配

    1. 题目来源 链接:通配符匹配 来源:LeetCode 2. 题目说明 给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。 ‘?’ 可以匹配任何单个字符。 ‘*’ 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为

    2024年02月14日
    浏览(51)
  • 【蓝桥杯算法题】字符串匹配算法

    这段代码实现了一个过滤字符串中非字母字符的功能,并统计字母个数。 首先,在主函数中,定义一个长度为100的字符数组str,用fgets函数从标准输入获取用户输入的字符串。 然后调用filterLetters函数,利用指针p1和p2遍历字符串中的每个字符,判断是否为字母字符, 若是,则

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包