首页 > 系统相关 >Linux常用工具:grep/awk/sed

Linux常用工具:grep/awk/sed

时间:2023-12-29 21:46:45浏览次数:215  
标签:字符 grep sed awk lufftcity 匹配 txt 常用工具

Linux常用工具

  • grep 文本过滤
  • sed steam editor 文本编辑工具
  • awk 格式化文本

Ⅰ.grep

grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。

命令组成

grep [options] pattern [files]

逐个解释grep命令的各部分

  1. pattern:表示要查找的字符串或正则表达式
  2. files: 表示要查找的文件名,可以同时查找多个文件
  3. 常用选项见下表
option 解释
-i ignorecase
-o 仅仅显示匹配到的字符串本身
-v 反转,显示不能被模式匹配的行
-E 使用扩展的正则表达式
-n 显示匹配行的行号
-r 递归查找子目录中的文件
-l 只打印匹配的文件名
-a /--text 要忽略二进制的数据
-w /--word-regexp 只显示全字符合的列

b)基本正则表达式

正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。正则表达式可以在文本中查找、替换、提取和验证特定的模式。
正则表达式有3大常用功能

  1. 匹配字符
  2. 匹配次数
  3. 位置锚定

元字符
元字符(Metacharacter)是一类非常特殊的字符,它能够匹配一个位置或字符集合中的一个字符,元字符可以分为两种类型: 1.匹配位置的元字符 2.匹配字符的元字符

元字符 作用
^ 用于模式的最左侧,^oldboy匹配以oldboy开始的
$ 用于模式的最右侧
^$ 匹配空行
. 匹配任意一个有且仅有一个字符,不能匹配空行
\ 转义字符
* 匹配前一个字符,连续出现0此或1次以上,重复0次代表空,即匹配所有内容。a*表示匹配a0次或者多次
.* 组合符,匹配所有内容(一个文档所有的内容)
^.* 组合符,匹配任意多个字符开头的内容
.*$ 组合符,匹配任意多个字符结尾的内容
[abc] 匹配[]内的任意1个字符
[^abc] 匹配除了后面的所有字符,即除开abc的所有字符,注意写在[]里面的意义改变

扩展正则表达式ERE

必须使用grep -E 才能生效

元字符 作用
+ 匹配前一个字符1次或多次,a+表示匹配1个以上a
[

标签:字符,grep,sed,awk,lufftcity,匹配,txt,常用工具
From: https://www.cnblogs.com/bai7/p/17933768.html

相关文章

  • Hash-based Message Authentication Code(HMAC)
    一、引言在现代信息安全领域,消息认证码(MessageAuthenticationCode,简称MAC)起着至关重要的作用。Hash-basedMessageAuthenticationCode(基于哈希的MAC,简称HMAC)作为一种广泛应用的MAC算法,其性能和安全性得到了业界的认可。本文将从算法原理、优缺点、替代方案等方面,全面介......
  • sed 命令针对某一行进行替换
    sed命令针对某一行进行替换操作 sed-i'3s/aaa/fff/'file--表示针对file文件中的第三行,将其中的aaa替换为fffsed-i'/xxx/s/aaa/fff/g'file--表示针对文件,找出包含xxx的行,并将其中的aaa替换为fffsed-i'1s/[#*]/fff/gp'file--表示针对文件第1......
  • sed处理当前文件及子文件
    你想使用sed命令在当前文件夹及其子文件夹中进行字符串替换,这是一个常见的需求。你可以使用find命令结合sed来实现这个目标。下面是详细的步骤:使用find命令查找当前文件夹及其子文件夹中的所有文件。结合-typef参数,只选择文件而不包括文件夹。使用-exec参数执行sed命令来进行......
  • Supervised Machine Learning : Regression and Classification
    Thecourseisavailableat:SupervisedMachineLearning:RegressionandClassification-Week1:IntroductiontoMachineLearning-Week1|CourseraRegressionModelThecostisameasurehowwellourmodelispredictingthetarget.Thefollowingformul......
  • Sqoop连接数据库报错:Caused by: javax.net.ssl.SSLHandshakeException: No appropriat
    控制台报错:[[email protected]__hadoop-2.0.0-alpha]#./bin/sqooplist-databases--connectjdbc:mysql://192.168.45.10:3306--usernameroot--password1234562023-12-2802:58:50,807WARNtool.BaseSqoopTool:Settingyourpasswordonthecommand-linei......
  • PBKDF2(Password-Based Key Derivation Function 2)算法
    一、引言在当今数字时代,保护用户数据和隐私的安全变得越来越重要。为实现这一目标,加密和密钥管理技术发挥着关键作用。PBKDF2(Password-BasedKeyDerivationFunction2)算法作为一种基于密码的密钥生成方法,广泛应用于各种安全场景。本文将从各个方面介绍和解释PBKDF2算法,剖......
  • Generalised f-Mean Aggregation for Graph Neural Networks
    目录概符号说明GenAgg代码KortvelesyR.,MoradS.andProrokA.Generalisedf-meanaggregationforgraphneuralnetworks.NIPS,2023.概基于MPNN架构的GNN主要在于aggregator和updatefunction两部分,一般来说后者是参数化的主要方式.本文提出一种新的参数......
  • 行处理工具grep,cut,uniq,tee,diff,paste,tr使用说明
    行处理工具grep:用于查找文件里符合条件的字符串或正则表达式。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入......
  • SED,AWK使用详解
    SED,AWK使用1.sed命令sed使用方法​ 一种叫命令模式,一种叫脚本模式命令行模式:格式sed[option]'sed的命令|地址定位' filename说明:引用shellscript中的变量应使用双引号,而非平常使用的单引号option:-e:进行多项编辑,即对输入行应用多条sed命令时使用-n:取消默认的输出......
  • 测试开发 | 人工智能无监督学习(Unsupervised Learning)
    无监督学习是人工智能领域中备受关注的学习方式之一,其独特之处在于不依赖标签数据进行训练。本文将深入介绍无监督学习的定义、原理、应用领域以及未来发展趋势。1.无监督学习的定义无监督学习是一种机器学习范式,其目标是从未标记的数据中发现模式、结构和规律,而不像监督学习那样......