QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

Linux 中的 Sed 命令及 16 个实际示例

日期:2025/04/08 13:08来源:未知 人气:54

导读:该`sed`命令是在 Linux 中操作文本的必备工具。它允许您搜索文本中的模式并对匹配的文本执行各种操作,例如替换、删除或打印。该命令从文件或标准输入获取输入。默认 sed 命令不会对原始文件进行更改,直到您使用-i命令行参数。该命令发出警报文本并将结果发送到标准输出。您还可以根据要求将文本重定向到文件。在本文中,我们将提供 16 个使用该`sed`命令执行各种任务的实际示例......

sed命令是在 Linux 中操作文本的必备工具。它允许您搜索文本中的模式并对匹配的文本执行各种操作,例如替换、删除或打印。该命令从文件或标准输入获取输入。

默认 sed 命令不会对原始文件进行更改,直到您使用-i命令行参数。该命令发出警报文本并将结果发送到标准输出。您还可以根据要求将文本重定向到文件。

在本文中,我们将提供 16 个使用该sed命令执行各种任务的实际示例。

使用**Sed**替换字符串示例

1.**替换文件中的字符串**

要替换文件中的字符串,可以使用该's/old_string/new_string/g'命令。语法

sed 's/old_string/new_string/g' file_name

此命令读取“fruits.txt”文件中的内容,并将所有出现的单词“apple” 替换为

要使用 sed 命令替换文件中的字符串,请使用-i 参数就地进行更改。命令字符串必须包含替换命令's' 、原始字符串和替换字符串。例如,要将名为fruits.txt的文件中字符串“apple”的所有实例替换为字符串“banana”,请使用以下命令:

请参见以下示例:

sed 's/apple/banana/g' fruits.txt

此命令读取“fruits.txt”文件中的内容,并将所有出现的单词“apple” 替换为单词“banana” ,并将结果文本打印到终端。告诉g 命令全局替换文件中的所有匹配项。

您还可以使用该选项在同一文件中进行更改-i

sed -i 's/apple/banana/g' fruits.txt

您将看到原始文件已被修改。您还可以在更改原始文件之前先备份文件。

sed -i.bak 's/apple/banana/g' fruits.txt

原始文件的备份文件将在当前目录中创建,名称为fruits.txt.bak

2.**替换每行第一次出现的位置**

要仅替换每行中第一次出现的模式,可以使用s/pattern/replacement/ 命令。例如,要仅将文件fruits.txt中第一次出现的单词“apple” 替换为单词“banana” ,可以使用以下命令:

sed 's/apple/banana/' fruits.txt

3.**替换每行最后出现的地方**

要仅替换每行中最后一次出现的模式,可以使用“s/pattern/replacement/g” 命令。例如,要仅将文件fruits.txt中最后一次出现的单词“apple”替换为单词“banana”,可以使用以下命令:

sed 's/\(.*\)apple/\1banana/g' fruits.txt

4.**替换特定行号处的字符串**

要替换特定行上的字符串,可以使用lineNumbers/pattern/replacement/ 命令。例如,要将文件fruits.txt第3行中第一次出现的单词“apple”替换为单词“banana”,您可以使用以下命令:

sed '3s/apple/banana/' fruits.txt

5.**替换行号范围内的字符串**

要替换一系列行上的字符串,可以使用startLineNumber,endLineNumber/pattern/replacement/ 命令。例如,要将文件fruits.txt第3行至第5行中第一次出现的单词“apple”替换为单词“banana”,您可以使用以下命令:

sed '3,5s/apple/banana/' fruits.txt

使用**Sed**删除文件中的行

6.**删除文件第一行**

要删除包含特定字符串的行,可以使用/pattern/d 命令。例如,要删除文件fruits.txt中包含单词“apple”的所有行,可以使用以下命令:

sed '1d' fruits.txt

7.**删除包含特定字符串的行**

要删除包含特定字符串的行,可以使用“/pattern/d” 命令。例如,要删除文件fruits.txt中包含单词“apple”的所有行,可以使用以下命令:

sed '/apple/d' fruits.txt

8.**删除除匹配字符串之外的行**

要反转匹配行,可以将! 运算符与其他命令结合使用。例如,要删除文件fruits.txt中包含单词“apple”的所有行,可以使用以下命令:

sed '/apple/!d' fruits.txt

9.**删除行范围**

要删除一系列行,可以使用该startLineNumber,endLineNumberd 命令。例如,要删除文件fruits.txt 的第3行到第5行,您可以使用以下命令:

sed '3,5d' fruits.txt

10.**删除文件中的空行**

您可以使用选项从文件中删除空行'/^$/d'。

sed '/^$/d' fruits.txt

此命令将一行视为空行,不包含任何字符,甚至一个空格。

使用**Sed**从文件中打印行

11.**仅打印行号**

要仅打印匹配行的行号,可以使用“/pattern/=” 命令。例如,要打印文件fruits.txt中包含单词“apple”的所有行的行号,可以使用以下命令:

sed '/apple/=' fruits.txt

12.**打印文件范围**

要打印一系列行,可以使用“start,endp” 命令。例如,要打印文件fruits.txt的前10行,可以使用以下命令:

sed -n '1,10p' fruits.txt

使用**Sed**将行插入文件

13.**匹配模式后插入新行**

要在特定模式后插入一行,可以使用“/pattern/a\newline” 命令。例如,要在文件fruits.txt中包含单词“apple”的行后面插入行“grapes”,可以使用以下命令:

sed '/apple/a\grapes' fruits.txt

14.**在匹配模式之前插入新行**

要在特定模式之前插入一行,可以使用“/pattern/i\newline” 命令。例如,要在文件fruits.txt中包含单词“apple”的行之前插入行“grapes”,可以使用以下命令:

sed '/apple/i\grapes' fruits.txt

使用**Sed**的其他任务

15.**更改字符大小写**

要更改字符串的大小写,可以使用“y/old/new/” 命令。例如,要将文件fruits.txt中的所有小写字母更改为大写,可以使用以下命令:

sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' fruits.txt

16.**替换特定字符之间的内容**

例如,要将文件fruits.txt中的所有mysql –h 127.0.0.1 -uroot -P3306 -p654321地址替换为 192.168.2.12,可以使用以下命令:

sed "s/^mysql -h .* -u>/mysql -h 192.168.2.12 -u/g" fruits.txt

结论

我们希望这些示例有助于向您展示 sed 命令的多功能性。请记住,sed 是一个非常强大的工具,在对重要文件使用命令之前仔细测试命令非常重要。

Sed排行

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告