
同じログセクションを複数回解析したいとしましょう。 data = $(grep "initial filter" file.log)を実行し、$ dataで次のフィルタを実行したいと思います。 $dataはメモリが使い果たされるまで増え続けますか?
答え1
オペレーティングシステムで設定した以外に他の制限はないようです。
$ yes=$(yes)
bash: xrealloc: cannot allocate 18446744071562067968 bytes (1617920 bytes allocated)
答え2
ああ、アプローチが間違っていますmktemp
。たとえば、次のようになります。
x="$(mktemp)"
grep mohsen /etc/passwd > $x
root@debian:/home/mohsen# echo $x
/tmp/tmp.yuMRWrJbRI
その後、スクリプトの最後から一時ファイルを削除できます。
この方法では、変数の代わりにファイルを使用します。