Linux日常命令sed
-
sed是Linux中非常常用的命令,用于对文本进行编辑和转换。下面是sed命令的一些常见用法和示例:
1. 替换文本:
sed ‘s/old/new/g’ file # 将文件file中的所有”old”替换为”new”2. 删除文本:
sed ‘/pattern/d’ file # 删除文件file中包含”pattern”的行3. 插入文本:
sed ‘1i\new line’ file # 在文件file的第一行前插入新行”new line”4. 追加文本:
sed ‘$a\new line’ file # 在文件file的最后一行后追加新行”new line”5. 显示文本:
sed -n ‘2p’ file # 显示文件file的第二行6. 执行脚本:
sed -f scriptfile file # 执行脚本文件scriptfile对文件file进行操作7. 替换特定行:
sed ‘2s/old/new/’ file # 替换文件file的第二行中的”old”为”new”8. 替换特定范围的行:
sed ‘2,4s/old/new/’ file # 替换文件file的第二行到第四行中的”old”为”new”9. 只打印匹配的行:
sed -n ‘/pattern/p’ file # 只打印文件file中包含”pattern”的行10. 替换文本并保存到新文件:
sed ‘s/old/new/g’ file > newfile # 将文件file中的所有”old”替换为”new”并保存到newfile以上是对sed命令的一些常见用法进行了简要介绍,sed命令具有强大的文本处理能力,熟练掌握sed命令能提高日常工作的效率。
2年前 -
sed是Linux系统中常用的文本处理工具之一,可以对文本进行增删改查等操作。下面是关于sed的一些日常命令:
1. 替换文本:
sed ‘s/old/new/’ file:将文件中的old字符串替换为new字符串。
sed ‘s/old/new/g’ file:使用g选项可以替换所有匹配的字符串,而不仅仅是第一个。2. 打印指定行:
sed -n ‘1p’ file:只打印第一行。
sed -n ‘1,5p’ file:打印第一行到第五行。3. 删除指定行:
sed ‘1d’ file:删除第一行。
sed ‘1,5d’ file:删除第一行到第五行。4. 插入或追加文本:
sed ‘1i\inserted line’ file:在第一行前插入一行文本。
sed ‘$a\appended line’ file:在最后一行后追加一行文本。5. 根据模式匹配:
sed ‘/pattern/d’ file:删除包含某个模式的行。
sed ‘/pattern/!d’ file:仅保留包含某个模式的行。以上是一些常用的sed命令,可以帮助我们在Linux系统中进行文本处理操作。当然,sed还有更多的命令和选项,可以根据具体的需求进行学习和使用。
2年前 -
sed命令是Linux系统中常用的文本处理工具之一,它可用于对文件进行字符串替换、匹配、删除、插入等操作。本文将从方法、操作流程等方面讲解Linux日常命令sed。
## 1. sed命令的基本用法
sed命令的基本语法为:
“`
sed [参数] ‘动作’ 文件名
“`
其中,参数可以是以下几种:
– -e:直接在命令行模式上进行sed动作编辑;
– -f:将sed的动作写在脚本文件中,使用-f参数指定脚本文件;
– -i:直接修改文件内容,而不是输出到终端。动作是sed命令的核心部分,它可以是以下几种形式之一:
– s/old/new/:将文本中的old替换为new;
– /pattern/:匹配包含pattern的行;
– d:删除匹配到的行;
– a\,i\:在匹配到的行之后(a)或之前(i)插入文本。接下来,我们将通过几个示例来说明sed命令的用法。
## 2. 字符串替换
sed命令最常用的功能之一是字符串替换。通过s命令,我们可以将文本中的特定字符串替换为其他字符串。语法如下:
“`
sed ‘s/old/new/’ 文件名
“`
示例如下,我们将替换文件中的”apple”为”orange”:
“`
$ sed ‘s/apple/orange/’ file.txt
“`
如果要替换所有的匹配项,可以在s命令后添加g选项:
“`
$ sed ‘s/apple/orange/g’ file.txt
“`
此时,所有文件中的”apple”都会被替换为”orange”。## 3. 删除行
通过sed命令的d命令,可以删除包含指定模式的行。语法如下:
“`
sed ‘/pattern/d’ 文件名
“`
示例如下,我们将删除文件中包含”apple”的行:
“`
$ sed ‘/apple/d’ file.txt
“`
多个模式可以用逗号分隔,删除包含其中任何一个模式的行:
“`
$ sed ‘/apple,dog/d’ file.txt
“`## 4. 插入和追加文本
sed命令的a和i命令可以在匹配到的行后面和前面插入文本。语法如下:
“`
sed ‘/pattern/a\
text’ 文件名sed ‘/pattern/i\
text’ 文件名
“`
示例如下,我们将在包含”apple”的行前面插入”fruit”:
“`
$ sed ‘/apple/i\
fruit’ file.txt
“`
在文件file.txt中,所有包含”apple”的行之前都会插入”fruit”。## 5. 脚本文件中使用sed命令
除了直接在命令行模式上使用sed命令,我们还可以将sed的动作写在脚本文件中,并通过-f参数指定脚本文件。首先,创建一个名为script.sed的脚本文件,内容如下:
“`
s/apple/orange/g
s/peach/mango/g
“`
然后,运行以下命令:
“`
$ sed -f script.sed file.txt
“`
此时,文件file.txt中的”apple”会被替换为”orange”,”peach”会被替换为”mango”。## 6. 直接修改文件内容
默认情况下,sed命令只会将结果输出到终端窗口,不会修改原始文件。但是,我们可以通过-i参数直接修改文件内容。语法如下:
“`
sed -i ‘s/old/new/’ 文件名
“`
示例如下,我们将直接在文件中将”apple”替换为”orange”:
“`
$ sed -i ‘s/apple/orange/’ file.txt
“`
此时,文件file.txt中的所有”apple”都会被替换为”orange”。## 7. sed命令的高级用法
除了上述基本用法外,sed命令还有许多高级用法,例如:
– 只对某些行进行操作:通过行号或行号范围指定要操作的行;
– 使用正则表达式进行模式匹配:可以使用正则表达式匹配更复杂的模式;
– 组合多个sed命令:可以通过多个sed命令组合实现更复杂的操作;
– 引用前一条替换命令:可以使用&符号引用之前的模式匹配结果;
– 基于替换结果的条件控制:可以使用n和g命令组合进行条件控制。以上是对sed命令的一些介绍,通过学习和实践,你可以更好地掌握sed命令,提高文本处理的效率。
2年前