首页 > 解决方案 > 我究竟做错了什么 ?sed:-e 表达式 #1,字符 74:缺少命令

问题描述

我正在运行 Ubuntu 14 并尝试使用 sed 在文件中查找特定行。

当我运行命令时

sed '/password\s[success=\d\sdefault=ignore]\spam_unix.so\sobscure\s+sha512/' testfile.txt

我明白了sed: -e expression #1, char 74: missing command

我正在寻找这条线:

password    [success=1 default=ignore]  pam_unix.so obscure sha512

我错过了什么或做错了什么?

标签: regexsed

解决方案


你错过了一个命令。尝试在末尾添加 jus 字符 p :

sed /password\s[success=\d\sdefault=ignore]\spam_unix.so\sobscure\s+sha512/p' testfile.txt

如果您在某些编程语言中使用正则表达式,通常您需要编写模式并通过库中的其他方法使用它。像 sed 或 awk 这样的工具需要一个模式,也可以提供关于你想用这个模式做什么的信息。外汇:

  • /p 打印传递的字符串
  • /s 替换字符串

推荐阅读