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是一种强大的文本处理工具,常用于系统维护和日志处理等场景