gpt4 book ai didi

linux - egrep 不写入文件

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

我正在使用以下命令从文件中提取域名和完整域扩展名。例如:www.abc.yahoo.com、www.efg.yahoo.com.us。

[a-z0-9\-]+\.com(\.[a-z]{2})?' source.txt | sort | uniq | sed -e 's/www.//' 
> dest.txt

当我在 source.txt 之后指定较小的最大参数 -m 100 时,命令写入正确。如果我没有指定,或者如果我指定了一个巨大的数字,就会出现问题。虽然,我之前可以使用 grep(不是 egrep)写入文件,其中的数字与我现在正在尝试的类似,而且是成功的。我还在执行命令期间检查了最后修改的日期和时间,目标文件中似乎没有发生任何修改。可能是什么问题?

最佳答案

正如我在您的 earlier question 中提到的,这可能不是 egrep 的问题,但是您的文件太大并且 sort 不会输出任何内容(到 uniq)直到egrep 完成了。我建议您使用 split 将文件分成可管理的夹头命令。像这样:

split -l 10000000 source.txt split_source.

这会将 source.txt 文件分成 1000 万行 block ,分别称为 split_source.asplit_source.bsplit_source .c 等。您可以对这些文件中的每一个运行整个命令(并且可能更改管道以在末尾附加:>> dest.txt)。

这里的问题是你可以在多个文件中得到重复项,所以最后你可能需要运行

sort dest.txt | uniq > dest_uniq.txt

关于linux - egrep 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714612/

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