我有一个脚本试图从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) 我试图从响应中删除"数据包号码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+
?