regex 如何在Linux中使用正则表达式和egrep命令排除数据表中带有“福特”的列?

y1aodyip  于 2023-08-08  发布在  Linux
关注(0)|答案(2)|浏览(84)
plym    fury    77      73      2500
chevy   nova    79      60      3000
ford    mustang 65      45      17000
volvo   gl      78      102     9850
ford    ltd     83      15      10500
Chevy   nova    80      50      3500
fiat    600     65      115     450
honda   accord  81      30      6000
ford    thundbd 84      10      17000
toyota  tercel  82      180     750
chevy   impala  65      85      1550
ford    bronco  83      25      9525

字符串
这是带有cars.txt的示例数据
预期的结果应该是这样的。

plym    fury    77      73      2500
chevy   nova    79      60      3000
volvo   gl      78      102     9850
Chevy   nova    80      50      3500
fiat    600     65      115     450
honda   accord  81      30      6000
toyota  tercel  82      180     750
chevy   impala  65      85      1550


我如何编写正则表达式来获得结果,比如排除包含“福特”的列?
我试过以下方法
第一个月
然而,它不起作用。

ezykj2lf

ezykj2lf1#

grep -v -w -i '^ford' cars.txt

字符串
有关选项的含义,请查看grep手册页。

7gcisfzg

7gcisfzg2#

我建议使用egrep和不使用-v

egrep '^([^f]|f[^o]|fo[^r]|for[^d])' cars.txt

字符串
输出量:

plym    fury    77      73      2500
chevy   nova    79      60      3000
volvo   gl      78      102     9850
Chevy   nova    80      50      3500
fiat    600     65      115     450
honda   accord  81      30      6000
toyota  tercel  82      180     750
chevy   impala  65      85      1550


请参阅:The Stack Overflow Regular Expressions FAQ

相关问题