linux |
您所在的位置:网站首页 › sed命令s › linux |
linux - sed常用命令
sed命令用法 linux--sed命令 sed命令详解 22.Linux sed命令详解 linux常用操作(八)-sed命令详细说明 使用语法使用规则 sed 参数 命令 input_file常用参数: 参数 作用 -n 取消默认 sed 输出,仅输出符合条件的行;常与sed 内置命令 p 一起使用 -i 直接把修改结果写入文件;不用 -i,sed 修改的是内存数据 -e 多次编辑不需要管道符 -r 支持扩展正则表达式常用命令: 命令 作用 a 对文本追加,在指定行后面添加一行;多行时除最后一行外,每行末尾需用 “\n” 续行 c 用新文本修改(替换)当前行中的文本;多行时除最后一行外,每行末尾需用 “\n” 续行 i 表示插入文本,在指定行前添加一行或多行文本;多行时除最后一行外,每行末尾需用 “\n” 续行 d 删除匹配的行 p 打印匹配行的内容 s/正则/替换内容/g 匹配正则内容,然后替换内容,结尾 g 表示全局匹配sed的正则表达式元字符 元字符 作用 \(..\) 保存已匹配的字符 & 保存查找串以便在替换串中引用 \/:匹配包含以 love 结尾的单词的行 x\{m\} 连续 m 个 x x\{m,\} 至少 m 个 x x\{m,n\} 至少 m 个 x,但不超过 n 个 x 实例准备文件 image-20210521155712934 打印:p 命令打印第二行和第三行。不加 -n 的情况下,sed 会打印全文并把符合条件的行打印两遍,加上 -n 只会打印符合条件的内容 sed '2,3p' 1.txt sed -n '2,3p' 1.txt image-20210521160515353打印以 This 开头的行 sed -n '/^This/p' 1.txt image-20210524134328083打印含有以 Th 为单词词首的行 sed -n '/\/p' 1.txt image-20210524135129213打印以 Th 开头,ne 结尾的行 sed -n '/Th.*ne$/p' 1.txt image-20210524154747555打印前四行并且打印行号;= 表示打印行号,用到不同编辑命令时,用 {} ,且不同编辑命令之间用分号分割 sed -n '1,4{=;p}' 1.txt image-20210525154521947打印除前四行以外的其他行,不知道一共有多少行,可以用 !反选 sed -n '1,4!p' 1.txt image-20210525155839610打印第一行到匹配到 third 的行 sed -n '1,/third/p' 1.txt image-20210525160525612打印匹配到 second 的行到匹配到 third 的行 sed -n '/second/,/third/p' 1.txt image-20210525160707340 插入:a 命令和 i 命令a 命令和 i 命令的使用方法相同,不同的是 a 命令是在行之后添加内容,i 命令是在行之前插入内容。 在第一行之后/之前添加 add one sed '1a add one' 1.txt sed '1i add one' 1.txt image-20210525162213874在第二行到第三行之后/之前添加 add one sed '2,3a add one' 1.txt sed '2,3i add one' 1.txt image-20210525162546997匹配到 second 的行到匹配到 third 的行之后/之前添加 add one sed '/second/,/third/a add one' 1.txt sed '/second/,/third/i add one' 1.txt image-20210525162835196在第一行之后/之前添加 add one,add two 两行,用 \n 分隔开 sed '1a add one\nadd two' 1.txt sed '1i add one\nadd two' 1.txt image-20210525163219648在第一行之前加 start,在最后一行之后加 end,对单个文件进行多个操作可以用 -e sed -e '1i start' -e '$a end' 1.txt image-20210525163850423 删除:d 命令删除第一行 sed '1d' 1.txt image-20210525171452576删除二到三行 sed '2,3d' 1.txt image-20210525171539971删除匹配到 last 的行 sed '/last/d' 1.txt image-20210525171637812 替换行:c 命令将第一行替换为第一行 sed '1c 第一行' 1.txt image-20210525171854810将匹配到 Monday 的行替换为星期一 sed '/Monday/c 星期一' 1.txt image-20210525172028724 替换字符串:s 命令使用方法:s/正则/替换内容/,常与 g 连用表示全局替换 将全文的 line 替换为 text,不加 g 只替换每一行的第一个 line sed 's/line/text/g' 1.txt sed 's/line/text/' 1.txt image-20210525173036379s 命令也可以与 p 和 -n 连用,只打印匹配到的行 sed -n 's/day/DAY/p' 1.txt image-20210525174314732将 is 加上双引号,也就是用 “is” 替换 is。可以用 & 号,当它用在替换字符串中的时候,代表的是原始的查找匹配数据。 sed 's/is/"&"/g' 1.txt image-20210525174809535 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |