未知长度的 Grep 通配符在管道之间

标签 grep

我正在尝试 grep 以下字符串:

行必须以 15 开头,字符串的其余部分可以在竖线之间有任意长度的数字。最后 2 个管道之间必须没有任何东西。

"15|155702|0101|1||"

到目前为止我有:

grep "^15|" $CONCAT_FILE_NAME >> "VAS-"$CONCAT_FILE_NAME

我在使用 [0-9] 时无法指定任何长度的数字

最佳答案

你需要转义|

grep -E '^15\|([[:digit:]]+\|)+\|$'

关于未知长度的 Grep 通配符在管道之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712826/

相关文章:

linux - grep 上的 Tcl exec 返回 "grep: nothing to repeat",而正常的 LINUX 给出正确答案

linux - 使用 grep 对数据库进行全文搜索

linux - 带有范围查询的 egrep 多个 AND

linux - 获取许多相似字符串中的第一个

awk - 打印带有重复单词的行

linux - 将包含单词的行从一个文件复制到linux中的另一个文件

bash - Grep - 如何仅输出捕获组的内容

pdf - 在 Windows 服务器上安装 pdfgrep

linux - 将文件中的 "{"替换为 "x "