gpt4 book ai didi

regex - 在 grep 中用双引号括起 reg-ex 和按原样提供 reg-ex 之间的区别

转载 作者:行者123 更新时间:2023-11-29 09:46:45 24 4
gpt4 key购买 nike

这是 ls -R 命令的输出:

.:
compare.sh searchByFile.sh startup.sh temp.txt test.sh
compare.sh~ searchByFile.sh~ startup.sh~ test test.sh~

./test:
test.c test.txt test.txt~

我想隔离扩展名为“.c”的文件

所以我这样做:ls -R | grep\.c 这是我得到的输出:

searchByFile.sh
searchByFile.sh~
test.c

但是当我这样做时:ls -R | grep "\.c" 我得到正确的输出:

test.c

为什么会这样。 grep "\.c"grep\.c

有什么区别

最佳答案

区别很容易用

说明
$ echo "\.c" \.c
\.c .c
$

在双引号内,反斜杠被传递给命令——echogrep。双引号外,不传递反斜杠。这就解释了差异。

关于其余部分,请参阅 quoting 上的 Bash 手册.

关于regex - 在 grep 中用双引号括起 reg-ex 和按原样提供 reg-ex 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861138/

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