-1

これは機能するはずですが、私が見つけた他のすべての例は、機能することを示しているようですが、機能しません。

これは、サイズが 1 GB を超えるすべての error_log ファイルを見つける短いスクリプトです。シェルウィンドウに出力するには、次のように問題なく動作します。

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

..などですが、運が悪いです。

アップデート:

私はこれを機能させるためにあらゆることを試み続けてきました。私の最近の試みは、これで十分です。つまり、シェルウィンドウに書き出されます。

find /home -type f -size +100k -name error_log -exec ls -lh {} \; | | awk '{印刷}'

ただし、これにより、空の .txt ファイルしか得られません。

find /home -type f -size +100k -name error_log -exec ls -lh {} \; | | awk '{ 印刷 > "zzzoutput.txt" }'

上記はうまくいくはずですよね?

4

1 に答える 1

1

-name error_log は、名前が error_log のすべてのファイルを正確に検索することを意味します。ただし、ログ ファイルには error_log.1 error_log.2 などのパターンがあり、-name error_log では一致しない可能性があると思います。

于 2013-08-11T13:47:07.643 に答える