什么是 sed?
sed(Stream Editor)是 Linux/Unix 系统中强大的流编辑器,常用于对文本进行查找、替换、删除、插入等操作。它特别适合在脚本中自动化处理文本文件。
sed 中的“单词”处理
在 sed 中处理“单词”通常依赖于正则表达式。例如,使用 \< 和 \> 表示单词边界(在 GNU sed 中):
# 将文件中的单词 "foo" 替换为 "bar"
sed 's/\\<foo\\>/bar/g' file.txt
注意:不同平台(如 macOS 的 BSD sed)可能不支持 \</\>,可改用 [[:<:]] 和 [[:>:]] 或其他方式。
常用示例
- 替换整个单词:
sed -E 's/\\<oldword\\>/newword/g' input.txt - 删除包含特定单词的行:
sed '/\\<target\\>/d' file.txt - 仅打印包含某单词的行:
sed -n '/\\<keyword\\>/p' file.txt
注意事项
使用 sed 处理单词时,请确保你的正则表达式能准确匹配单词边界,避免误替换子字符串。建议在实际操作前先用 -n '/pattern/p' 测试匹配效果。