Less
less 命令記憶體不足
在大文件中搜尋字元串(無正則表達式等)
less filename
並less -b 1 filename
退出或列印時,它無法分配記憶體。top
顯示在它死之前使用大約 5% 的記憶體較少(1 秒間隔)。我可以使用什麼其他工具來支持大文件?該文件只有 100 mb 的日誌。
$ less -V less 458 (GNU regular expressions) Copyright (C) 1984-2012 Mark Nudelman
作業系統詳細資訊:
$ ulimit -a -t: cpu time (seconds) unlimited -f: file size (blocks) unlimited -d: data seg size (kbytes) unlimited -s: stack size (kbytes) 8192 -c: core file size (blocks) 0 -m: resident set size (kbytes) unlimited -u: processes 15988 -n: file descriptors 1024 -l: locked-in-memory size (kbytes) 64 -v: address space (kbytes) 2048000 -x: file locks unlimited -i: pending signals 15988 -q: bytes in POSIX msg queues 819200 -e: max nice 0 -r: max rt priority 0 -N 15: unlimited $ cat /etc/*rele* DISTRIB_ID=Ubuntu DISTRIB_RELEASE=13.10
這可能與您的記憶無關,並且與
less
寫入方式以及為其內部變數分配多少空間有關。無論如何,
less
真的不是為此而設計的,你應該使用類似的工具grep
:grep yourQuery file
如果您想查看查詢周圍的行(例如 5 行),請執行以下命令:
grep -C 5 yourQuery file
如果您有太多匹配項,您可以將輸出傳遞給
less
,現在您應該能夠搜尋它:grep -C 5 yourQuery file | less
當然,如果您想手動執行此操作,您可以在文本編輯器中打開文件。任何認真的編輯都喜歡
vim
或emacs
將能夠打開並蒐索 100MB 的文件。