相关疑难解决方法(0)

Bash正则表达式 - 似乎无法匹配\ s,\ S等

我有一个脚本试图从gparted获取信息块.

我的数据看起来像:

Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  316MB   315MB   primary  ext4            boot
 2      316MB   38.7GB  38.4GB  primary  ext4
 3      38.7GB  42.9GB  4228MB  primary  linux-swap(v1)

log4net.xml
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  316MB   315MB   primary  ext4            boot
 5      316MB   38.7GB  38.4GB  primary  ext4
 6      38.7GB  42.9GB  4228MB …
Run Code Online (Sandbox Code Playgroud)

regex bash

13
推荐指数
2
解决办法
3万
查看次数

为什么这个正则表达式不适用于grep?

我试图从响应中删除"数据包号码624不匹配",所以显而易见的是尝试

cat somefile.txt | grep -v "Packet number \d+ doesn't match"
Run Code Online (Sandbox Code Playgroud)

如果我删除了-v,只是为了测试,那么它什么都不返回.所以也许命令行正在使用\d+首先执行某些操作.所以我尝试了各种组合,比如\\d+ \\d\+ \\\\d+ \\\\d\+ [0-9]+ [0-9]\+.答对了!!最后一个有效.有人能解释一下这里发生了什么吗?如果这被命令行修改,为什么echo "\d+"还会返回\d+

regex linux grep

3
推荐指数
1
解决办法
520
查看次数

标签 统计

regex ×2

bash ×1

grep ×1

linux ×1