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

shell脚本快速入门之-----正则三剑客之二sed用法大全!!!

sed 的工作流程主要包括读取、执行和显示三个过程。 读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)。...PI 开头的行 [root@localhost ~]# sed -n '/[0-9]$/p' test.txt //输出以数字结尾的行 [root@localhost ~]# sed -n '/\<wood...d' [root@localhost ~]# sed '/^[a-z]/d' test.txt '//删除以小写字母开头的行' [root@localhost ~]# sed '/\....结尾的行' [root@localhost ~]# sed '/^$/d' test.txt '//删除所有空行' 注 意 : 若 是 删 除 重 复 的 空行 , 即 连 续 的 空 行 只 保 留...,这是追加的过程,不会覆盖原文 三、sed中-n和-p以及不加参数 不加参数默认输出全部 包括匹配到的参数 -n选项:只显示匹配处理的行(否则会输出所有)(也就是关闭默认的输出) -p选项:打印 [root

1.6K31

Sed 命令

1.工作流程sed工作流程主要包括读取、执行和显示三个过程: 读取:sed从 输入流 (文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)...通常与 -n 选项一起使用=:打印行号l:打印数据流中的文本和不可打印的ASCII字符r:在指定行下面读取文件内容w:将文件内容保存到新文件中二、打印命令演示1.打印文件内容#打印文件a.txt,sed...#打印以字母 o 开头或以字母 n 结尾的行内容# 管道符 ‘|’ 是扩展正则,所有要加上 -r 选项sed -nr '/^o|n$/p' a.txtoneseventeneleven#打印从第2行到以...#删除以 t 开头或以 n 结尾的行内容onefourfivesixeightnine# !...#sed编辑器会重复删除符合内容,#当匹配到从 t 开头的行会执行删除操作,直到找到以 e 开头的行。

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

    【MySQL】01_运算符、函数

    (补充:MySQL 中字符串拼接要使用字符串函数CONCAT()实现) 乘除运算符: 一个数乘以整数1和除以整数1后仍得原数; 一个数乘以浮点数1和除以浮点数1后变成浮点数,数值与原数相等; 一个数除以整数后...n次,至多m次,如果 n为0,此参数为可选参数 b{2,4}匹配含最少2个、最多4个b的字符串 bb,bbb,bbbb # 1.查询以特定字符或字符串开头的记录 字符‘^’匹配以特定字符或者字符串开头的文本...# 在fruits表中,查询f_name字段以字母‘b’开头的记录,SQL语句如下: SELECT * FROM fruits WHERE f_name REGEXP '^b'; # 2.查询以特定字符或字符串结尾的记录...字符‘$’匹配以特定字符或者字符串结尾的文本。...MySQL中使用 LIMIT 实现分页 格式:LIMIT [位置偏移量] 行数 第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移 量”,将会从表中的第一条记录开始

    2.5K30

    Linux基础之正则表达式

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串...给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。...,以#号开头,后面仅跟一个空格,且不以空白符结尾的行: 显示 /tmp/sshd_config 文件中不以#注释、空白行以及有空白字符的行: 显示 /etc/passwd 文件中用户名和用户SHELL...为一样的行: 显示 /tmp 目录下,以非字母开头,后面跟一个字母,后面为任意长度任意字符的文件或者目录: 显示 /tmp 目录下以非字母开头,后面仅跟一个字母,然后以非字母结尾的文件和目录: 显示.../etc 目录下以p开头不以数字结尾的所有文件和目录: 显示 ip a 或者 ifconfig 命令中的IP地址,-E 选项为支持扩展正则表达式: -l 选项可以列出包含字符串的文件列表: -w

    1.1K20

    sed 命令+正则表达式

    ] 输入文件            第一行具有sed命令解释器的sed脚本文件     option如下:       n 不打印; sed不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑),p命令可以用来打印编辑行...$//g'         删除以句点结尾行     '-e /abcd/d'       删除包含abcd的行     's/[][][]*/[]/g'   删除一个以上空格,用一个空格代替    ...如果要在正则表达式中匹配以* . p a s结尾的所有文件,可做如下操作:\ * \ . p a s 6、使用[]匹配一个范围或集合     使用[ ]匹配特定字符串或字符串集,可以用逗号将括弧内要匹配的不同字符串分开...其中,“^”定位符规定匹配模式必须出现在目标字符串的开头,“$”定位符规定匹配模式必须出现在目标对象的结尾,\b定位符规定匹配模式必须 出现在目标字符串的开头或结尾的两个边界之一,而“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内...,即匹配对象既不能作为目标字 符串的开头,也不能作为目标字符串的结尾。

    3.4K20

    【Linux】Linux基本指令大全-(2)

    绝对路径:从 / (根目录)开始定位到指定位置,具有唯一性的路径 相对路径:我们以自己当前所处的路径为起始参照位置,来进行特定文件的定位的路径 使用场景: 绝对路径往往比较长,但是不变,一般用在一些固定场景中...相关指令: echo + 字符串 :在标准输出或者文件中显示一行文本或者字符串 >输出 重定向 : 在写入时会 a) 清空文件 b)进行写入 >>输出 追加重定向 : 在写入时会...有关) q:quit 12.head指令 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾...[文件]... 功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。...语法: grep [选项] 搜寻字符串 文件 功能: 在文件中搜索字符串,将找到的行打印出来【行文本过滤工具】 常用选项: -r 递归处理,将指定目录下的所有文件和子目录一并处理 图示

    14410

    【Python Learning第一篇】Linux命令学习及Vim命令的使用

    行数 执行该行数对应的命令(可以从历史中去找对应行数) rm 文件名 删除命令 ls 1* 列出以1开头的所有文件 通配符 *替换的是N位 还有一种是位数的通配符 比如我们有文件如下: 23 234 2333...3.txt 在第1位和第3位相同的情况下列出满足的所有文件 ls 1[12345]3 中括号也是一种通配符 在第1位和第3位相同的情况下列出满足当前的第2位范围在1-5的所有文件 写法和ls 1[1-5...yy:复制光标所在的这一行 4yy:光标所在的行开始向下的4行 p:粘贴 dd:剪切光标所在的这一行 2dd:剪切光标所在的行开始向下的2行 D:从当前的光标开始剪切 一直到行末 d0:从当前光标开始剪切...,一直到行首 x:删除当前的光标(从后删) 每次只会删除一个(都是剪切的一些命令) X:删除当前的光标(从前删) 每次只会删除一个(都是剪切的一些命令) dw:删除光标开始位置的字 包含光标所在字符 其实就是删掉一个单词的字母...::%s/原字符串/将要替换成的新字符串/g Example: %s/hello/world/g 将文本中的hello字样全部替换成world 这种方式是将当前文本中所有的原字符串替换成新字符串 末行模式下

    1K100

    秒懂 Linux 三剑客:awk、sed、grep 的超实用操作示例

    正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),可以用来描述和匹配字符串的特定模式。...匹配换行符以外的任意字符一次 ^hello 匹配以hello开头的行 hello$ 匹配以hello结尾的行 [0-9] 匹配0-9的任意一个字符 [a\|b] 匹配a或b中的任意一个字符 \ 转义符,...即grep可以从单个或多个文本中以行为单位抓取一定的内容。这个内容为某一特定的字符模式,也就是我们上面所说的正则表达式,或是普通的单一字符或字符串。...` sed '2s/GCTA/XXXX/' seq.fasta #5.删除行 #用法:删除以`>`开头的行 sed '/^>/d' seq.fasta #6.打印匹配行 #用法:打印包含`CTAG`的行...#11.行号范围操作 #用法:只处理第2到3行 sed '2,3s/CTAG/XXXX/' seq.fasta #12.从指定行到文件末尾操作 #用法:从第3行到文件末尾替换`TAGC`为`----`

    20720

    Go高阶18,go语言测试功能详解-上

    目前 Go 测试系统支持单元测试、性能测试和示例测试: 单元测试:单元测试是指对软件中的最小可测试单元进行检查和验证 性能测试:性能测试,也称基准测试,是测量一个程序在固定工作负载下的性能。...: 单元测试的 go 文件必须以 _test.go 结尾,Go 语言测试工具只认符合这个规则的文件。...单元测试文件名 _test.go 前面的部分最好是被测试的函数所在的 go 文件的文件名。 单元测试的函数名必须以 Test 开头,是可导出的、公开的函数。...output: \ 字符串> \ 字符串>”,每个期望字符串占一行; 测试字符串时会自动忽略字符串前后的空白字符; 如果测试函数中没有“Output”标识,则该测试函数不会被执行; 执行测试可以使用...go test ,此时该目录下的其他测试文件也会一并执行; 执行测试可以使用 go test ,此时仅执行特定文件中的测试函数; ❞ ---- 图片及部分相关技术知识点来源于网络搜索

    37761

    Liunx命令行:vi详解

    ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行...string——从光标所在处向后或向前查找相应的字符串的命令。 —- 4.拷贝复制命令 —- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。...—- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。...—- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。...—- 注意: 其中s为substitute,%表示所有行,g表示global。 —- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

    90910

    Java基础入门篇(三)——Java常量、变量

    在JDK7.0中允许使用字面值来表示二进制数,前面要以0B或0b开头,目的是为了和十进制的数进行区分,如0b01101100、0B10110101。...2.浮点型常量:数学中用到的小数,分为双精度浮点数(double)和单精度浮点数(float)两种类型。双精度浮点数后面以D或d结尾,单精度浮点数后面以F或f结尾。...\n表示换行符,换到下一行的开头。 \r表示回车符,使光标到当前行的开头,不会跳到下一行。 \t表示制表符,相当于键盘的Tab键。...\”表示双引号,双引号表示字符串开始和结束,包含在字符串中的双引号需要转义,例如”the day is,\”cool\”.” \’单引号,单引号表示字符串的开始和结束,如果直接写单引号字符,java程序会认为前两个是一对...(三)整型常量进制间的转换 1.十进制转换二进制 十进制转换二进制就是一个除以2取余数过程,把需要转换的数,除以2得到商和余数,将商继续除以2,直到商为0。

    99931

    linux的vi命令详解_useradd命令详解

    ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n:光标移至第n行尾 H :光标移至屏幕顶行...string——从光标所在处向后或向前查找相应的字符串的命令。 —- 4.拷贝复制命令 —- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。...—- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。...—- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。...—- 注意: 其中s为substitute,%表示所有行,g表示global。 —- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

    10.8K10

    linux下vi命令大全

    ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行...string——从光标所在处向后或向前查找相应的字符串的命令。 —- 4.拷贝复制命令 —- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。...—- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。...—- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。 —- vi file —- :3,s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。...—- 注意: 其中s为substitute,%表示所有行,g表示global。 —- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

    16.2K30

    python入门基础语法总结

    str.capitalize()把字符串中的第一个字符大写 str.title()把字符串中每个单词大写 str.startswith(obj)|endswith(obj)判断字符串是否以obj开头|...结尾,返回bool str.lower()把所有大写转换为小写 str.upper()把所有小写转换为大写 str.ljust()返回一个原字符串左对齐,并使用空格填充至长度width的新字符串 str.rjust...(width)返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 str.center()返回一个原字符串居中对齐,并使用空格填充至长度width的新字符串 str.lstrip()删除字符串开头的空白字符...()把str分成三部分,str前,str,和str后,从右边开始分 str.splitlines()按照行分割,返回一个各行作为元素的列表 str.isalpha()判断字符串是否都是字母 str.isdigit...()写文件 readlines()按照行读数据 readline()只读一行数据 seek(offset,from)定位读写,offset偏移量,from=0文件开头,from=1当前位置,from=2

    89030

    python入门基础语法总结

    str.capitalize()把字符串中的第一个字符大写 str.title()把字符串中每个单词大写 str.startswith(obj)|endswith(obj)判断字符串是否以obj开头|...结尾,返回bool str.lower()把所有大写转换为小写 str.upper()把所有小写转换为大写 str.ljust()返回一个原字符串左对齐,并使用空格填充至长度width的新字符串 str.rjust...(width)返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 str.center()返回一个原字符串居中对齐,并使用空格填充至长度width的新字符串 str.lstrip()删除字符串开头的空白字符...()把str分成三部分,str前,str,和str后,从右边开始分 str.splitlines()按照行分割,返回一个各行作为元素的列表 str.isalpha()判断字符串是否都是字母 str.isdigit...()写文件 readlines()按照行读数据 readline()只读一行数据 seek(offset,from)定位读写,offset偏移量,from=0文件开头,from=1当前位置,from=2

    79820

    linux基础命令介绍四:文本编辑 vim

    如果打开的是一个老文件,底部左边显示"file" 3L, 66C字样,表示文件名,当前光标所处行号,文件总字节数。文件中没有字符的地方会以字符~开头。...下面介绍部分底行模式命令: :set nu 显示行号 :set nonu 隐藏行号 :r file 读取文件file内容并写入当前编辑的文件中,内容从光标当前位置下一行开始插入。...ls -l 还能组合其他模式下的命令 如替换当前行所有匹配模式的字符串: :s/pattern/string/g # g表示全局 如替换本文件中所有匹配模式的字符串: :%s/pattern/string.../g # %表示所有行 如替换指定行的匹配字符串: :n,ms/pattern/string/g 这里n和m都是数字,代表行号。...下面介绍一部分将要用到的正则表达式的概念和用法: 匹配位置: ^ 表示行开头 $ 表示行结尾 开头 > 表示单词结尾 匹配字符: . 表示匹配任意单个字符(相当于通配符中的?)

    1.3K20

    R语言之处理大型数据集的策略

    快速读取.csv 文件 .csv 文件占用空间小,可以由 Excel 查看和生成,因此被广泛运用于存储数据。在前面里介绍的函数 read.csv( ) 可以很方便地读取 .csv 文件。...在上面的命令中,subdata1 选取了数据集里所有以 a 开头的变量,而 subdata2 选取了数据集里所有以 2 结尾的变量。..., vars(contains("1"))) names(subdata4) 需要注意的是,所有以 10 结尾的变量也是包含字符 1 的。...例如,要剔除以 1 或 5 结尾的变量,可以使用下面的命令: # subdata5 <- select(bigdata, c(-contains("1"), -contains("5"))) subdata5...( ) 都用于从数据框中随机选取指定数量的行,前者中的参数 size 用于指定行的个数,而后者中的参数 size 用于指定占所有行的比例。

    34720
    领券