gpt4 book ai didi

linux - 在 linux 中不使用 "cat"命令读取大文件的内容

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:29 25 4
gpt4 key购买 nike

我正在尝试一种不使用“cat”命令的更有效的方式在 Linux 中读取文件内容,尤其是对于较大的文件内容,因为在这种情况下 cat 只会占用内存和 CPU在服务器上。

我想到的一件事是使用 grep -v "character-set-which-is-unlikely-in-the-file"filename

但是每次都使用不同的字符集并希望它不会出现在文件中,效率不高。

还有其他想法吗?

最佳答案

如果你只是想通读文件,所以它被缓存,最简单的方法可能是这样的:

cat filename > /dev/null

请注意,您无需在屏幕上显示数据即可从磁盘读取数据。该命令读取文件,并通过将其转储到/dev/null 中来忽略内容,但它仍会读取所有数据。

如果 CPU 负载上升,那可能是一件的事情,这意味着计算机正在努力工作,并且会尽早完成。不过,如果它崩溃了,那就是其他地方出了问题。

如果你有一些特定的原因不使用“cat”命令,你可以试试“dd”代替,但它写起来更复杂而且不会更快:

dd if=filename of=/dev/null bs=1M

附录:

这启发了我进行一些测试。在我的特定计算机上,“cat”和“dd”都需要 24.27-24.31 秒来读取尚未缓存的机械磁盘上​​的大文件,而在缓存时则需要 0.39-0.40 秒。 (每个案例的三个测试,变异性很小。)

这两个程序都包含写入数据的代码,即使它被转储到/dev/null,所以人们可以预期专门编写的只读程序会稍微快一些,但我尝试时得到了相同的时间那个。

关于linux - 在 linux 中不使用 "cat"命令读取大文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com