![](/img/trans.png)
[英]What is the difference between '>' and '#' is command line interface in Linux?
[英]What is the difference between “$line” and “^$line”
有一段时间的读取循环:
while read line; do
grep "^$line" file1
done < target
我应该使用"^$line"
来获得正确的答案。 我想知道"$line"
和"^$line"
什么区别?
while
循环在这里grep
,是grep
命令使^
有意义。 ^
字符是正则表达式中的标识符。 它与行的开头匹配,因此grep "$line" file
与$line
是子字符串的grep "$line" file
中的任何行匹配,而grep "^$line"
仅与以$line
开头的$line
匹配。
@sudo_O为您的问题提供了正确的答案。 但是,您可以完全省略循环:
grep -f target file1
只需调用grep即可更高效。 如果您需要线锚:
grep -f <(sed 's/^/^/' target) file1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.