使用 sed Linux 命令进行文本和文件处理
Sed 是一种流编辑器。流编辑器用于对输入文件进行常规的文本转换。在某些方面,它类似于允许脚本化编辑(如 ed)的编辑器。sed 通过对输入进行一次遍历来工作,因此效率更高。现在,让我们进一步了解“使用 sed Linux 命令进行文本和文件处理”。
首先,要验证 sed 版本,请使用以下命令:
$ sed --v
示例输出应如下所示:
sed (GNU sed) 4.2.2 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ......................................................................................... In the below example, abc.txt is the file name.
Sed 命令及其描述
序号 | 命令 | 描述 |
---|---|---|
1 | $sed ‘s/tutorials/tutorialspoint/’ abc.txt | 将“tutorials”替换为“tutorialspoint” |
2 | $sed ‘$d’ abc.txt | 删除 abc.txt 文件中的最后一行 |
3 | $sed ‘s/^[ ^t]*//’ abc.txt | 删除 abc.txt 文件中每行开头的所有空格 |
4 | $sed ‘s/[ ^t]*$//’ file.txt | 删除 abc.txt 文件中每行末尾的所有空格 |
5 | $sed ‘s/tutorials/tutorialspoint/p’ abc.txt | 在 abc.txt 文件中包含指定字符串的行后,打印该行两次 |
6 | $ sed ‘s/tutorialspoint/tutorials/g’ abc.txt | 这是一个全局替换命令,用于在 abc.txt 文件中将“tutorialspoint”替换为“tutorials” |
7 | $ sed -n ‘s/tutorialspoint/tutorials/p’ abc.txt | 显示 abc.txt 文件中已替换的行 |
8 | $sed ‘1 s/tutorialspoint/tutorials/’ abc.txt | 替换 abc.txt 文件中指定行的字符串(在上面的命令中,它替换第一行(1)的字符串) |
9 | $ sed ‘1,3 s/tutorialspoint/tutorials/’ abc.txt | 替换 abc.txt 文件中特定范围内的字符串(在上面的示例中,它替换从第一行到第三行的字符串) |
10 | $sed ‘/./,$!d’ abc.txt | 删除 abc.txt 文件中的所有空行 |
11 | $sed ‘3,$ d’ abc.txt | 删除 abc.txt 文件中的特定行(第三行) |
12 | $sed ‘p’ abc.txt | 在 abc.txt 文件中将每行打印两次 |
13 | $ sed ‘i “Add a new line”‘ abc.txt | 在 abc.txt 文件中每行的前面添加指定的行(“Add a new line”) |
14 | $ sed ‘a “Add a new line”‘ abc.txt | 在 abc.txt 文件中每行的后面添加指定的行(“Add a new line”) |
15 | $sed -n ‘/tutorialspoint/ p’ abc.txt | 在 abc.txt 文件的每一行中查找指定的搜索字符串(tutorialspoint) |
在本文中,我们学习了如何使用 sed Linux 命令进行文本和文件处理。在我们的下一篇文章中,我们将介绍更多基于 Linux 的技巧和提示。请继续关注!
广告