首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux】三剑客 grep、awk、sed 常见用法

一、grep 命令 1、适用场景 grep 命令擅长在文本文件中搜索指定的模式,常用于查找文本中匹配的内容。...-z # 匹配完整行 4、使用示例 从文本文件中查找只包含abc的行 grep "abc" demo.txt 从文本文件中查找同时包含abc、def的行 grep -E "abc...|def" demo.txt 从文本文件中查找空行以外内容 grep -v "^$" demo.txt # 这里的 ^$ 是正则表达式,后边会具体讲 在当前目录(不包含子目录)中查找包含abc的文本文件...匹配任意一个字符 * 匹配前一个字符0次或多次 .* 匹配任意长度字符 定位单词的左侧和右侧 [ ] 匹配[ ]内任意一个字符 [^ ] 匹配[ ]内字符以外的任意字符 说明 [abc] 可以写作...匹配前一个字符0次或1次 + 匹配前一个字符1次或多次 [ ]+ 匹配[ ]内任意字符1次或者多次 ( ) 分组过滤,()里的内容是一个整体 | 或,用于同时过滤多个字符串 {m} 匹配前一个字符m

70820

运维分享|Linux指令入门文本处理(四)

我们常说linux系统中一切皆文件,对服务配置也都是需要编辑相应的配置文件的。对于我们来说,先查看这些配置文件才是重点。在linux中查看文本文件最常见的命令包括cat、tail、more和head。...-E:显示行结束符$-n:对显示出的每一行进行编号-A:显示所有控制符-b:非空行编号-s:压缩连续的空行成一行u tacu Rev2 分页查看文件内容u more: 分页查看文件more [OPTIONS...-c#:指定获取后#字节-n#:指定获取后#行-#:同上-f:跟踪显示文件 fd 新追加的内容,常用日志监控相当于--follow=descriptor-F:跟踪文件名,相当于--follow=name...-d DELIMITER:指明分隔符,默认 tab-f FILEDS:#:第#个字段#,#[,#]:离散的多个字段,例如1,3,6#-#:连续的多个字段,例如1-6混合使用:1-3,7-C 按字符切割-...STDIN 中的数据运行wc story.txt39 237  1901 story.txt行数 字数 字节数u 常用选项-I 只计数行数-W 只计数单词总数-C 只计数字节总数-m 只计数字符总数-

20610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux系列 目录和文件管理

    ,备份和恢复文档,以及使用vi文本编辑器创建或修改文本文件。...[root@localhost -]# cat /etc/sysconfig/network-scripts/ifcfg-ana33 如果需要同时查看多个文件的内容,可以添加多个文件路径作为查看对象。...[root@localhost ~]# head -4 /etc/passwd  tail命令则正好相反,用于查看文件末尾的内容,tail命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后...---- 1.wc命令—统计文件内容中的单词数量(Word Count)行数等信息 wc命令用于统计文件内容中包含的行数,单词数量,字节数等信息,使用文件名作为参数,可以同时统计多个文件,较常用的选项如下所述...当文件的行数,单词数或字节数具有特定的意义时,使用 wc命令可以巧妙地获得一些特殊信息 例如:Linux操作系统中的用户账号数据保存在/etc/passwd文件中,其中每一行记录对应一个用户则以下操作可以统计出当前

    21840

    文件和文件异常

    使用方法read()读取这个文件的全部内容,并将其作为一个长长的字符串存储在变量contents中。通过打印contents的值,就可将这个文本文件的全部内容显示出来。 为什么多出个空行?...方法readlines()从文件中读取每一行,并将其存储在一个列表中。接下来,该列表被存储到变量lines中。在with代码块外,我们依然可以使用这个变量。...5.使用文件中的内容 将文件读取到内存后,可以以任何方式使用这些数据了。 首先打开文件,并将其中的所有行都存储在一个列表中。创建一个变量pi_string,用于存储圆周率的值。...6.分析文本 方法split(),根据一个字符串创建一个单词列表。 ? 方法split()以空格为分隔符将字符串分拆成多个部分,并将这些部分都存储到一个列表中。...结果是一个包含字符串中所有单词的列表,虽然有些单词可能包含标点。 ? 输出: ? 7.使用多个文件 ? 输出: ?

    5.3K20

    【编程课堂】文本包装 textwrap

    欢迎回到编程课堂,本周我们将了解一个与文字处理相关的模块—— textwrap,依照惯例,此处应该有一思考题: 现在有一文本文件 ‘abc.txt’,有 1000 行内容,现在需要在每一行的开头添加一个...这个函数可以用来做自动换行,不过值得注意的是,如果是中文,在 python2 中需使用 unicode,否则会因换行而产生乱码。...这里,限定的最大长度是要包含结尾占位符的。另外,在截取时会依据单词进行分割,所以这个函数对于中文的支持比较差,无法正确截取:它会把不带空格的中文当做一整个单词来处理。...所以行与行直接的相对缩进仍然会保留。 textwrap.indent(text, prefix, predicate=None) 在文本每一行的开头添加词头。...这个函数是在 Python 3.3 新加的,2.7 是没有的。

    927100

    Shell四剑客实操案例

    ,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入、文本重定向、字符串、变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或多个文件,简化对文件的反复操作、...在处理文本时把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),紧接着用SED命令处理缓冲区中的内容,处理完成后把缓冲区的内容输出至屏幕或者写入文件。...,脚本中的命令逐行进行处理,直到脚本执行完毕,然后该行被输出,模式空间请空;然后重复刚才的动作,文件中的新的一行被读入,直到文件处理完备。...在jfedu.txt每行后加入空行,也即每行占永两行空间,每一行后边插入一行空行、两行空行及前三行每行后插入空行: sed ‘/^$/d;G’ jfedu.txtsed ‘/^$/d;G;G’ jfedu.txtsed...x;G;}’ jfedu.txt 在jfedu.txt每行后加入空行,也即每行占永两行空间,每一行后边插入空行: sed ‘/^$/d;G’ jfedu.txt 在jfedu.txt每行后加入空行,

    2.1K21

    Windows 命令行快速上手

    注意,设置后在新的命令行窗口才能生效。 :: 永久设置用户环境变量 setx NAME VALUE :: 永久删除用户环境变量 setx NAME "" :: 永久设置系统环境变量。...支持通配符 * dir FILE_NAME type 在 Windows 命令 shell 中,type 是显示文本文件内容的内置命令。...在 PowerShell 中,type 是 Get-Content cmdlet 的内置别名,它也显示文件的内容,但使用不同的语法。.../s 将多个空行显示为单个空行。 /t 将制表符显示为 n 指定的空格数。 + 显示第一个文件,从 n 指定的行开始。...move \data\*.xls \second_q\reports\ copy 将一个或多个文件从一个位置复制到另一个位置。 常用选项如下: /a: 表示待移动的是 ASCII 文本文件。

    37620

    扫盲:”正则表达式”是什么?

    首先,我们在桌面上创建一个txt文本文件,将这个文件命名为”正则.txt”,如下文件创建完毕后,双击此文件即可使用windows中的”记事本”打开此文件,文件内容如下图所示可以看到,文件中有3行文本,假设...聪明如你一定猜到了,”^hello$”表示hello既位于行首,同时也位于行尾,换句话说,就是整行中只有一个单词hello,没有其他单词,那么是这样吗,我们来试一试,在regex中新加一行,只包含hello...没错,”^$”表示行首与行尾相连,换句话说,就是”空行”,我们在regex中添加一行”空行”,看看能不能匹配到,示例如下:我们直接在第二行后按回车键,于是第三行变成了”空行”,注意,”空行”表示当前行不包含任何字符...为了测试,我们在REG文件中又添加了一行,内容如下上图中,”\”表示当hello既是词首又是词尾时则会被匹配到,换句话说,就是当hello作为一个独立的单词时,则会被匹配到,如上图所示,...REG文本中第4行被匹配到了,因为只有第4行中才包含了一个独立的hello单词。

    60730

    Shell实用工具

    (vim是交互式文本编辑器),可以对文本文件的每一行数据匹配查询之后进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。...演示3:在最后一行前或后添加hello 在最后一行后面添加hello sed '$ahello' sed.txt $a: 最后一行后面添加 ?...示例: 多个sed程序命令执行 将sed.txt文件中的第1行删除并将 itheima 替换为 itcast # 第一种方式, 多个sed程序命令 在每个命令之前使用 -e 参数 sed -e '1d'...示例: 给每一行添加空行 插入空行 sed G -i sed.txt # G 每行后面添加一个空行 # -i 修改源文件 ?...截取某个文件中的列, 重点是按照列分割, 这个命令不适合截取文件中有多个空白字符的字段 sed: 增删改查数据. sed用于在文件中以行来截取数据进行增删改查 awk:截取分析数据.

    7.9K10

    shell脚本–sed的用法

    选项 -f 包含sed指令的文件 文件 sed的常用选项: -r:使用扩展正则表达式 -e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项 -f...sed ‘s/^/#&/g’ 1.txt #在1.txt文件中的每一行开头加一个# sed ‘s/123/hello/’ 1.txt #将文件中的123替换为hello,默认只替换每行第一个...*//;/^$/d’ 1.txt #先替换1.txt文件中所有注释的空行为空行,然后删除空行,替换和删除操作中间用分号隔开 sed ‘s/^[0-9]/(&)/’ 1.txt #将每一行中行首的数字加上一个小括号...#将文件2.txt中的内容,读入1.txt中,会在1.txt中的每一行后都读入2.txt的内容 sed ‘3r 2.txt’ 1.txt #在1.txt的第3行之后插入文件2.txt...#’s/^ *//’:表示匹配以0个或多个空格开头的行,将匹配内容替换 #echo $a sed “$a” $1        #对用户给定的文本文件进行格式化处理 实用脚本:批量更改当前目录中的文件后缀名

    3.9K20

    Sed三剑客入门与进阶

    主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等,处理时把当前处理的行存储在临时缓冲区中,称“模式空间”(pattern space),可以指定仅仅处理哪些行 + sed 命令脑图...l 打印显示特殊字符(行尾以及tab标志) n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。...* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。 [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。...也就是把包含test与check的行互换: sed -e '/test/h' -e '/check/x' file #保持和获取:h命令和G命令 #在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中...不加$则每一行下一行进行显示复制的数据; #在这个例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保持缓存区的特殊缓冲区内。

    3.1K10

    Powershell基础入门与实例初识

    通用参数 一个参数它由 PS 引擎添加到所有 cmdlet、高级函数和工作流中。 使用点获取来源 在 PS 中若要启动一个命令,可在该命令前键入一个点和一个空格。...采用点获取其来源的命令运行在当前范围而非新范围中。 命令创建的任何变量、别名、函数或驱动器都创建于当前范围,并在命令完成时提供给用户。 动态模块 一个仅存在于内存中的模块。...动态参数 在某些情况下添加到 PS cmdlet、函数或脚本的一个参数。 Cmdlet、函数、提供程序和脚本可以添加动态参数。...名词 在 PS cmdlet 名称中连字符后面的单词。 名词描述了 cmdlet 在其上进行操作的资源。 参数集 可用于相同的命令中以执行特定操作的一组参数。...动作 在 PS cmdlet 名称中连字符前面的单词,它说明该 cmdlet 将执行的操作。

    4.3K20

    PowerShell 脚本必备命令

    PowerShell命令 最近工作中写了大量的 PowerShell 脚本,将一些常用的命令分享出来,希望能帮助到大家。...$Directory ){ }else{ New-Item -Path $Directory -ItemType Directory -Force } 5.PowerShell 删除文件中的空行...粉丝福利 最近小伙伴们应该发现了公众号的一些变化,那就是在菜单栏中 『干货分享』的二级菜单中多了一个专栏 『万门大学』。没错,这正是公众号联合万门大学,为长久以来关注的粉丝争取的福利。...优质文章推荐: redis操作命令总结 MySQL相关操作 SQL查询语句 前端中那些让你头疼的英文单词 Flask框架重点知识总结回顾 团队开发注意事项 浅谈密码加密 Django框架中的英文单词...Django中数据库的相关操作 DRF框架中的英文单词 DRF框架 Django相关知识点回顾 python技术面试题-腾讯

    3K20

    Python 小白的晋级之路 - 第十五部分:读写文件

    (filename) 执行结果: 初始成绩: 90 85 88 92 请输入新的成绩:95 更新后的成绩: 90 85 88 92 95 5 课后练习题 5.1 题目 1:统计文件中某单词的数量 编写一个函数...编写一个函数,接收多个文件名和目标文件名作为参数,将多个文件的内容合并到目标文件中。...编写一个函数,接收文件名和行号作为参数,从文件中删除指定行,并保存修改后的文件。...在文章的后半部分,我们实现了一个简单的成绩管理器程序案例。这个程序包括从文件中读取成绩、添加新成绩和显示所有成绩等功能。通过这个案例,我们练习了读取文件、写入文件和处理文件内容的基本操作。...最后,我们提供了一些课后练习题供读者实践,涉及到统计文件中某单词的数量、将多个文件合并成一个文件以及从文件中删除指定行等操作。

    16910

    如何用PEP 8编写漂亮的Python代码

    CONSTANT, MY_CONSTANT, MY_LONG_CONSTANT module 使用一个或多个小写单词。单独的单词与下划线,以提高可读性。...module.py, my_module.py package 使用一个或多个小写单词。不要用下划线分隔单词。 package, mypackage 这些是一些常见的命名约定和如何使用它们的示例。...(self): return None 在函数中尽量使用空行来显示清楚的步骤。...有时,复杂的函数必须在return声明。为了帮助读者理解函数中的逻辑,在每个步骤之间留一个空行是有帮助的。 在下面的示例中,有一个计算列表方差的函数。...这是两个步骤的问题,所以我已经指出了每一步,在它们之间留了一个空行。对象之前还有一个空行。return声明。

    99210

    Python的代码风格

    3、缩进PEP 8建议每级缩进都使用四个空格,这既可提高可读性,又留下了足够的多级缩进空间。在字处理文档中,大家常常使用制表符而不是空格来缩进。...专业程序员通常会在同一个屏幕上打开多个文件,使用标准行长可以让他们在屏幕上并排打开两三个文件时能同时看到各个文件的完整行。...类名应采用驼峰命名法则;即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。对于每个类,都应紧跟在类定义后面包含一个文档字符串。...在类中,可使用一个空行来分隔方法;而在模块中,可使用两个空行来分隔类。...需要同时导入标准库的模块和你编写的模块时,先编写导入表准率模块的import语句,再添加一个空行,然后编写导入你自己编写的模块的import语句。

    1.4K10

    notepad++正则表达式替换字符串

    【3】正则表达式应用——删除每一行行尾的指定字符 因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345”...(2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符 即符合查找条件。 (3)按一下空格键,添加空格符。...空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“/t”。 (5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。...和 ” 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域); /1 即被选中的替换区域所在的新位置(复制到这个新位置)。...注意Notepad++的正则表达式与转义符等之间不兼容,所以局限性较大,不可以直接用正则表达式替换。 二、删除有空格的空行 1、先删除空格,后删除空行 如何删除只有空格行的空格?

    4.2K10
    领券