【发布时间】:2016-09-17 17:16:47
【问题描述】:
以下是文件名:
-rwxrwxrwx 1 user1 users 268 Sep 16 18:06 script
在这里grep第一个字符的命令应该是什么?
基于此,我想判断该项目是文件、目录还是软链接。
我们可以使用通配符“^”来获取此信息吗?
【问题讨论】:
-
对于既不是目录、FIFO、符号链接或设备的文件,
ls -l输出的第一个字符并不总是-——这在很大程度上取决于您的操作系统的扩展名。 POSIX 确实 指定第一个字符指定“文件类型”,并为几种特定类型指定特定字符,但也明确指出“实现可以将其他字符添加到此列表中以表示其他实现定义的文件类型。” -
顺便说一句,
^实际上不是通配符——而通配符完全匹配任何字符,^(在正则表达式中)匹配零个字符(并且仅在字符串的前面) .因此,您可以使用^.匹配字符串前面的单个字符——在这种情况下,.是使用的通配符,^限制匹配的位置——但没有太多理由在这里这样做。 -
对。 wrt
^- s/通配符/元字符/。