2010-01-17 92 views
0

我试图将结果列表从“ls -la”存储到变量中,然后过滤掉一些文件名,之后只打印过滤的文件名(以及日期和类似ls香格里拉大做它”再次,但是当我做这一切都是在同一行,是有办法,以确保每一个文件名是在不同的行?shell脚本过滤器问题

在此先感谢

+4

向我们展示你所拥有的,到目前为止,并告诉我们,让我们知道哪些壳我们有什么与...合作。 – 2010-01-17 06:00:12

+1

注意你的引用。几乎任何变量的所有用途都应放在双引号内,以保护变量值中的内部空白(如换行符)。 – 2010-01-17 07:43:47

+0

谢谢你在阅读答案后我现在得到它的工作,现在感谢很多 – Shellscriptbeginner 2010-01-17 16:21:01

回答

4

使用pipe,而不是存储它在一个变量中。

ls -la | filter 

其中filter是你用来过滤的任何东西。

这是一个很好的答案,因为我可以给,除非你可以提供一些关于你想要做的事情的更多细节。

+0

非常感谢答案 – Shellscriptbeginner 2010-01-17 16:23:46

1
ls -al | grep -v "file-pattern-you-want-to-filter-out" 
+1

只要模式不能发生在'ls -l'提供的其他垃圾... – dmckee 2010-01-17 21:08:30

4

,如果你要过滤的文件名,例如,不列出所有txt文件

shopt -s extglob 
ls !(*.txt) 
+0

谢谢你这么多为了快速回复 – Shellscriptbeginner 2010-01-17 16:21:51