日期:2014-05-16  浏览次数:20674 次

一条linux命令,不太懂,哪位帮忙看一下什么意思
Java code
find . |grep –v bak | grep –v out |grep tar


这条语句是什么意思呢?

我执行的结果是:
Java code

grep: out: No such file or directory
grep: bak: No such file or directory



------解决方案--------------------
列出当前目录下的所有文件和目录。然后选择没有bak和out的,然后选择tar文件。
------解决方案--------------------
探讨

引用:

列出当前目录下的所有文件和目录。然后选择没有bak和out的,然后选择tar文件。


这里的bak和out是什么意思呢?是文件和目录中包含bak和out字符的意思吗?还是?

------解决方案--------------------
就是查找文件啊,首先选择当前目录下的所有文件,然后选择出除了bak剩下的文件,然后选择出除了out剩下的文件,最后在选择出来的文件再进行筛选,得到tar文件
------解决方案--------------------
探讨
就是查找文件啊,首先选择当前目录下的所有文件,然后选择出除了bak剩下的文件,然后选择出除了out剩下的文件,最后在选择出来的文件再进行筛选,得到tar文件

------解决方案--------------------
这是一个bash 管道!每一个把前一个的输出直接当做输入!
------解决方案--------------------
很明显这个命令是错的,坑爹呢这是。

find . -type f | xargs -n1 grep -Hc "bak" | sed -r '/^(.*):0$/d' | cut -d":" -f1 

这样还差不多,没继续找参数,自己再去挖掘看能不能简化吧。
------解决方案--------------------
探讨

很明显这个命令是错的,坑爹呢这是。

find . -type f | xargs -n1 grep -Hc "bak" | sed -r '/^(.*):0$/d' | cut -d":" -f1

这样还差不多,没继续找参数,自己再去挖掘看能不能简化吧。