Grep 用于行首和行尾?

标签 grep

我有一个文件,我想在其中查找以 -rwx 或 drwx 开头并以任意数字结尾的行。

我知道了,但不太正确。有什么想法吗?

grep [^.rwx]*[0-9] usrLog.txt

最佳答案

棘手的部分是一个正则表达式,它包含一个破折号作为字符类中的有效字符之一。对于(正常)字符类,破折号必须紧跟在开始之后,对于否定字符类,必须紧跟在插入符号之后。如果您还需要一个右方括号,那么您需要右方括号后跟破折号。幸运的是,您只需要破折号,因此选择了符号。

grep '^[-d]rwx.*[0-9]$' "$@"

参见:Regular Expressionsgrep了解 POSIX 标准的详细信息。

关于Grep 用于行首和行尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58323484/

相关文章:

grep - 限制 grep 命令仅打印一次文件名

bash - 如何解决 bash grep 错误以获得行的平均值

linux - 运行 shell 脚本以获得正确的进程数

bash - 在文件 b 中查找文件 a 中的单词并输出文件 a 中缺失的单词匹配项

linux - Linux 上不同元素之间输出的 Grepping 日志

bash - 如何获取包含一种模式但不包含另一种模式的所有文件的列表?

linux - grep 关键字后的下一行

linux - Bash:组合多个命令的输出

linux - 从日志行中提取关键字

regex - 正则表达式不匹配空字符