2017-10-21 21 views
1

我看起来像这样的东西来显示常规文件,但我不知道如何让它只显示隐藏文件“。”。只显示隐藏的常规文件,使用AWK删除目录

ls -al | awk ' /^-/ {print $9}' 
.ghost1.c 
.ghost2 
.ghost3.cpp 
input4.txt 
lab1.cpp 
Lab2.cpp 
proc 
prog1.c 
prog2.c 
prog3.c.txt 
prog.4c 
script1_t03.sh 

这是第九场和老师建议我们使用& &操作显示只有经常隐藏文件。

+0

你是什么意思的“普通隐藏”文件? – batMan

+0

不包括目录的常规文件,但也使用反斜杠点“\”隐藏。命令。例如,这些幽灵文件对正常的ls -l是隐藏的。 –

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎是无关紧要的,因为它不是关于编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

回答

3

您可以使用find命令此:

find -maxdepth 1 -type f -name ".*" 
+0

问题在于Awk命令,而不是Find命令。传统上,您回答在回答未提问的问题之前所问的问题。 – jww

+2

@jww废话。希望当有人问你如何用牙刷挖洞来种植树木时,你可以说“你可以用铲子来做这件事”(就像batman在这种情况下所做的那样),而不是提供如何清除在开始使用手柄戳地面之前,先用刷毛刷完。 –

+0

@EdMorton - 堆栈溢出用户并不完全知道阅读理解技巧或他们对细节的关注。但随意用牙刷挖洞。 – jww

0

外壳扩展模式.*到所有隐藏文件,包括目录和特殊文件,但不包括一切。使用ls -ld可以解决这个问题。

ls -ld .* | awk ' /^-/ {print $9}'