在linux中,很多shell命令都会把^当做特殊含义的字符,列出几种:
makefile中
$^是一个特殊的自动化变量。其值为规则的所有依赖文件列表,使用空格分隔。如果目标是静态库文件,它所代表的只能是所有库成员(.o文件)名。一个文件可重复的出现在目标的依赖中,变量“$^”只记录它的一次引用情况。就是说变量“$^”会去掉重复的依赖文件。
VI/VIM中
^作为一个命令,起到移动光标到行首第一个非空格字符的作用。
awk中
^= 赋值运算符
^ xxx 求幂运算符
用于描述中表示行首
sed中
元字符^,作用锚定行首。如/^sed/匹配所有以sed开头的行。
[。^]:匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
grep中
^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。
[^]:匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
正则表达式中
正则表达式中^符号,表示以某单元开始的匹配,例如:/^http/表示以"http"开头的匹配,一个实用的例子如下:
/^http.*\.php/
上面的正则表达式表示,匹配所有以http开头并以.php结尾的字符串。
参考资料:百度百科-^