linux 仅显示完全匹配bash

xqkwcwgp  于 2023-08-03  发布在  Linux
关注(0)|答案(2)|浏览(82)

我试图从fstab中提取一行并打印第三列
挂载点=/var

#grep -w "$mountpoint" /etc/fstab
/dev/mapper/rootvg-varlv /var ext4 defaults 0 0
/dev/mapper/rootvg-vloglv /var/log ext4 defaults 0 0
/dev/mapper/rootvg-vartmp /var/tmp ext4 defaults 0 0

字符串
但它显示了包含“/var”的所有行,但我只希望完全匹配/dev/mapper/rootvg-varlv /var ext4 defaults 0 0
如何提取行?

mccptt67

mccptt671#

这似乎是awk的一个很好的用例!这个程序允许你对数据列进行操作(默认情况下用空格分隔)。这里的$2$3表示第二列和第三列。
-v选项是将bash变量传递给awk脚本

awk -v m=$mountpoint '{if ($2 == m) print $3}' /etc/fstab

字符串

7ajki6be

7ajki6be2#

您可以尝试在grep模式中包含空格

# grep "/var\ " /etc/fstab
/dev/mapper/rootvg-varlv /var ext4 defaults 0 0

字符串

相关问题