^ d在ls -l中是什么意思| grep ^ d?


13

当我这样做时,ls -l | grep ^d它仅列出当前目录中的目录。

我想知道的是什么呢插入符号^^d意思吗?


有关相关信息,请查找正则表达式或查看有关在grep中使用正则表达式的页面:robelle.com/smugbook/regexpr.html
Trey Hunner 2010年

这有效,但不是最佳选择。考虑一下ls */,无论有没有长列表(ls -l)都可以使用它,并且不需要grep(因此速度稍快),并且(比ls -l *)不太可能遇到参数列表太长的问题(因为它将目录仅放入命令中)线)。当然,find . -maxdepth 1 -type d它甚至更好,因为它根本不会使您的命令行混乱。
亚当·卡兹

Answers:


21

如手册页所示,安迪的答案是正确的:

锚定

插入符号^和美元符号$是元字符,它们分别与行的开头和结尾处的空字符串匹配。

它起作用的原因是使其使用长列表格式的-l标志ls。每行中显示的第一件事是文件的可读权限,该字符的第一个字符是d目录或-文件的权限


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.