Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux find命令将输出重定向到文本,但在这种情况下不起作用_Linux_Shell - Fatal编程技术网

Linux find命令将输出重定向到文本,但在这种情况下不起作用

Linux find命令将输出重定向到文本,但在这种情况下不起作用,linux,shell,Linux,Shell,似乎这应该行得通,我发现的所有其他例子似乎都表明它会,但它不会 这是一个查找所有大小超过1gb的错误日志文件的简短脚本。工作原理如下:要打印到shell窗口: find /home -type f -name error_log -size +1048576k 但当我尝试这样做时: find /home -type f -name error_log -size +1048576k > output.txt 。。。我什么也得不到 当然,我已经测试过搜索更小的文件,服务器上应该有很多这样

似乎这应该行得通,我发现的所有其他例子似乎都表明它会,但它不会

这是一个查找所有大小超过1gb的错误日志文件的简短脚本。工作原理如下:要打印到shell窗口:

find /home -type f -name error_log -size +1048576k
但当我尝试这样做时:

find /home -type f -name error_log -size +1048576k > output.txt
。。。我什么也得不到

当然,我已经测试过搜索更小的文件,服务器上应该有很多这样的文件:

find /home -type f -name error_log -size +50k > output.txt
。。。还是没什么

还尝试:

find /home -type f -name error_log -size +50k >> output.txt

find /home -type f -name error_log -size +50k -print > output.txt
。。等等,但是没有运气

更新:

我一直在尽一切努力让它发挥作用。我最近的一次尝试,让我得到了很多,也就是说,写在shell窗口中:

find /home -type f -name error_log -size +1048576k
find/home-type f-size+100k-name错误_log-exec ls-lh{}\|awk'{print}'

但是,这只会给我一个空白的.txt文件:

find/home-type f-size+100k-name错误_log-exec ls-lh{}\|awk'{print>“zzzoutput.txt”}


上述方法应该有效,对吗?

-name error\u log意味着准确地查找所有名为error\u log的文件。
但是,我猜您的日志文件可能有类似error\u log.1 error\u log.2等模式,但不能与-name error\u log匹配。

您确定命令的输出没有写入当前工作目录中的
output.txt
吗?不,实际上它们都只是命名为error\u log,但它们位于不同的帐户目录中。事实上,,shell窗口的输出是这样的项目:

/home/username/public\u html/directory/php\u users/htdocs/error\u log
/home/username2/public\u html/error\u log
/home/username3/public\u html/子目录/error\u log
所以我要做的就是把这些条目放到一个txt文件中。
注意:我为错误的混乱道歉在我的回复中,我尝试了很多方法来格式化我的回复,包括上面的那些换行标记,但似乎没有任何效果。显然是-size选项阻止了结果写入文本文件。当我删除这个时,一切都写得很好。