Ani*_*kur 5 unix command-line grep
当我这样做时,ls -l | grep ^d它只列出当前目录中的目录.
我想知道的是^ d中的字符是什么意思?
为了补充The New Idiot 的好答案,我想指出这一点:
ls -l | grep ^d
Run Code Online (Sandbox Code Playgroud)
显示当前目录中的所有目录。那是因为在目录信息的开头ls -l添加了一个d。
的格式ls -l是这样的:
-rwxr-xr-x 1 user group 0 Jun 12 12:25 exec_file
-rw-rw-r-- 1 user group 0 Jun 12 12:25 normal_file
drwxr-xr-x 16 user group 4096 May 24 12:46 dir
^
|___ see the "d"
Run Code Online (Sandbox Code Playgroud)
为了更清楚,您可以在目录信息的末尾ls -lF包含一个/:
-rwxr-xr-x 1 user group 0 Jun 12 12:25 exec_file*
-rw-rw-r-- 1 user group 0 Jun 12 12:25 normal_file
drwxr-xr-x 16 user group 4096 May 24 12:46 dir/
Run Code Online (Sandbox Code Playgroud)
所以ls -lF | grep /$会做同样的事情ls -l | grep ^d。