美文网首页
Linux 如何使用Sed命令进行文本处理 2022-07-18

Linux 如何使用Sed命令进行文本处理 2022-07-18

作者: 一车小面包人 | 来源:发表于2022-07-17 17:27 被阅读0次

使用cat查看测试文件内容:

$cat test.txt
this is a test
1line
2line
sed [-nefr] [操作]

选项[-nefr]

-n sed命令在对文本进行处理后,会默认把处理过的文本标准输出到屏幕上,使用-n命令可以只输出文本中被处理过的行。
exp:

1.sed -n '/带匹配字符/p' 文件名

$sed '/a/p' test.txt
this is a test
this is a test
1line
2line
$sed -n '/a/p' test.txt
this is a test

p代表的是print:打印文本中的每一行内容和/带匹配字符/中匹配到的内容;/a/代表匹配包含a的行;
因此默认会输出文本的所有行和匹配到的包含a的行,即包含a的行会输出两次;
但如果加上-n,就会仅打印匹配到包含a的行。

-e 直接在命令模式上进行sed的操作编辑,可以在一行执行多条命令。

$sed -e '1,2p' -e '1,2athis is a new line' test.txt

-f 直接将sed的操作写在一个文件夹内。
-r 代表使用扩展正则表达式的语法。

2.-r 扩展正则表达式

+ 一个或者多个
? 0个或者一个
| 用或(or)的方法找出整个字符串
() 捕获
()+ 捕获的重复

$sed 's/\([0-9]\)\([a-z]\)/\1\t\2/g' test.txt   #在数字与字母间插入tab
this a test
1  line
2  line
$sed -r 's/([0-9])([a-z])/\1\t\2/g' test.txt   #使用扩展正则,()不要\转义
this a test
1  line
2  line

-i 直接修改读取的文件内容,而不是由屏幕输出。

[操作]说明

'[n1,{n2}] function' #sed 执行的操作需要放在单引号之中
n1,n2 不一定会存在,代表操作的行数。
function包括:

a 新增,a的后面接字符,这些字符会出现在目前行的下一行。

3.新增多行内容

$sed '1,2athis is a new line' test.txt   #在第1/2行之后新加一行内容
this is a test
this is a new line
1line
this is a new line
2line
$sed '1,2athis is a new line\
>this is another new line' test.txt   #新加多行内容:反斜杠回车后继续写
this is a test
this is a new line
this is another new line
1line
this is a new line
this is another new line
2line

c 替换,c的后面接字符,这些字符会替换n1,n2行之间的内容。
d 删除。
i 插入,i后面接字符,这些字符会插入到当前行的上一行。
p 打印。
s 替换。

相关文章

  • Linux命令之sed批量替换字符串操作

    Linux中sed命令功能强大,本文将详细介绍如何使用sed命令进行字符串替换。一、基本的替换命令格式1:sed ...

  • 如何使用 sed 命令删除文件中的行

    Sed 代表流编辑器(Stream Editor),常用于 Linux 中基本的文本处理。sed 命令是 Linu...

  • shell脚本(4)让文本飞

    目录1、通配符与正则表达式2、grep命令3、使用sed进行文本替换4、使用awk进行高级文本处理 1、通配符与正...

  • Linux系统中awk和sed有什么区别?

    Linux文本三剑客,即awk、grep、sed,这三个命令是Linux中常用的文本处理命令,主要作用是对文本内容...

  • LINUX sed命令的使用

    LINUX sed命令的使用 命令格式 sed常用命令 sed替换标记 sed元字符集 已匹配字符串标记& ⼦串匹...

  • shell sed在工作中的应用

    Sed是一个行文本处理工具,可以进行文本的增删改查等操作Sed命令的基本格式:sed [-nefri] ‘comm...

  • Linux系列开坑记(三)-流处理器sed

    今天我们聊一聊Linux 下sed 命令,sed是linux非常强大的命令,可以对数据进行替换,删除,新增等操作。...

  • linux三剑客--sed

    功能 自动处理文件 分析日志文件 修改配置文件 sed如何进行文本处理的?sed处理过程.png 格式 $sed ...

  • Linux 积累

    积累Linux知识,方便查找 Linux下去掉^M的方法 sed 功能说明:文本处理并可对文件进行编辑 conda...

  • sed命令基本用法

    sed文本处理工具的用法: 用法1:前置命令 | sed [选项] '条件指令'用法2:sed [选项] ...

网友评论

      本文标题:Linux 如何使用Sed命令进行文本处理 2022-07-18

      本文链接:https://www.haomeiwen.com/subject/mfqdirtx.html