linux sed命令 按行对文本内容进行处理

linux sed命令 按行对文本内容进行处理

默认处理过程在缓存中进行,不会对原始文件造成破坏。

sed命令常用实例?

1.替换每行中的所有字符串,不替换原始文件内容
sed 's/hello/well/g' test.txt

说明:
s:替换操作
hello:原始串
well:替换串
g:每一行中的所有hello字符串全部替换为well字符串

2. 替换每行中的所有字符串,替换原始文件内容
sed -i 's/hello/well/g' test.txt

说明:
-i:直接替换原始文件内容,原始文件被更改并记录
s:替换操作
hello:原始串
well替换串
g:每一行中的所有hello字符串全部替换为well字符串

3.正则替换字符串
sed 's/^[0-9][0-9]*//g' test.txt

说明:
s:替换操作
^[0-9][0-9]\*:原始串匹配正则表达式
//替换为空
g:每一行中的所有的数字字符串全部替换为空 字符串

4.删除行(单行)

删除文件file.txt的第3行

sed '3d' file.txt

5.删除行(多行)

删除多个连续的行,删除文件file.txt的第3-5行

sed '3,5d' file.txt

6. 插入行(指定位置)

在文件file.txt的第3行之前插入一行new-line

sed '3i\new-line' file.txt

7.插入行(行尾)

在文件末尾插入一行new-line,$表示匹配最后一行

sed '$a\new-line' file.txt

8.添加字符(行首)

在文件file.txt的每一行开头添加一个prefix字符串。^符号表示行首。

sed 's/^/prefix/' file.txt

9.添加字符(行尾)

在文件file.txt的每一行结尾添加一个suffix字符串。$符号表示行尾。

sed 's/$/suffix/' file.txt

10.执行多个命令

这将依次执行两个命令:将所有old-text替换为new-text,并删除文件file.txt的第三行。

sed -e 's/old-text/new-text/g' -e '3d' file.txt

此外,Sed还支持其他操作,如打印指定范围内的行、指定替换第几个匹配项等,具体可以参考Sed的帮助文档或man手册。

总之,Sed是一种强大的文本处理工具,常用于系统维护和日志处理等场景

转载:https://www.bilibili.com/read/cv16068239

posted @ 2023-05-26 16:16  Journey&Flower  阅读(145)  评论(0编辑  收藏  举报