gpt4 book ai didi

正则表达式:如何匹配 "sda"但不匹配 "sdaa"?

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:16 24 4
gpt4 key购买 nike

我正在过滤 lsblk -r 输出以列出 sda 驱动器。不过,我不会列出 sdab、sdac 等驱动器。

我以前拥有的是:

lsblk -r | grep -o '^[a-z]*' | grep -v sda | grep -v sr | sort | uniq

这返回了非 sda 和非 sr 的驱动器列表,但当驱动器名称超出 sdz 时会失败,因为 grep 将 sdaa 与 sda 匹配并清除它。

我尝试在 grep 模式中包含空格,但没有成功。

我用于测试的示例(假)lsblk -r 输出:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2,7T 0 disk
sda1 8:1 0 14,9G 0 part [SWAP]
sda2 8:2 0 93,1G 0 part /
sda3 8:3 0 984,6G 0 part /data
sda4 8:4 0 725,4G 0 part /media/backup
sda5 8:5 0 16M 0 part
sda6 8:6 0 498G 0 part /home
sda7 8:7 0 478,5G 0 part
sdc 8:32 1 7,5G 0 disk
sdd 8:48 1 7,5G 0 disk
sde 8:64 1 7,5G 0 disk
sdf 8:80 1 7,5G 0 disk
sdg 8:96 1 7,5G 0 disk
sdh 8:112 1 7,5G 0 disk
sdi 8:128 1 7,5G 0 disk
sdj 8:144 1 7,5G 0 disk
sdl 8:176 1 7,5G 0 disk
sdab 8:144 1 7,5G 0 disk
sdac 8:176 1 7,5G 0 disk
sdad 8:144 1 7,5G 0 disk
sdaz 8:176 1 7,5G 0 disk
sdab1 8:144 1 7,5G 0 part
sdac1 8:176 1 7,5G 0 part
sdad1 8:144 1 7,5G 0 part
sdaz1 8:176 1 7,5G 0 part

最佳答案

使用单词边界:

grep -v 'sda\b'

关于正则表达式:如何匹配 "sda"但不匹配 "sdaa"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45457568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com