草庐IT

从文件读

全部标签

c - 是否有用于从文件中读取名称/值对的广泛使用的 C 库?

我的程序正在读取一个文本文件,其中包含设置文件的多行文本。有些线可能会变得非常大。当前缓冲区大小为4096个字符。某些行可能会超出此范围,无论是出于恶意还是由于程序中运行的各种因素。当前的例程编写起来相当乏味,现在我想扩展文件的可能内容,这将需要更多这种乏味的重复代码。(这是一个设置类型文件,由namevalue对和偶尔的部分标题组成。由于多重精度,一些数值需要作为字符串读取)。我想要的主要是读取任意长度的行而不会出现缓冲区溢出。我刚刚发现getline可以为我做这件事,但是,看在上帝的份上,是否有一个图书馆可以为我完成所有这些乏味的工作?编辑:我不想被迫在名称和值之间放置一个=符号,

regex - 从文件中提取正则表达式捕获组的匹配项

我想在linux命令行下执行标题命名的操作(几个cabash脚本也可以)。我尝试的命令是:sed's/href="([^"])"/$1/g'page.html>list.lst但显然它失败了。准确地说,这是我的输入:我想要的输出是输入文件中所有匹配项的逗号分隔或空格分隔列表:style/css/colors.css,style/css/global.css,style/css/icons.css我想我的表达是正确的:href="([^"]*)"但我不知道如何执行此操作。sed会进行搜索/替换,这不是我想要的。(相反,我只需要保留匹配项并将其余部分扔掉,而不是替换它们)

regex - 从文件中提取正则表达式捕获组的匹配项

我想在linux命令行下执行标题命名的操作(几个cabash脚本也可以)。我尝试的命令是:sed's/href="([^"])"/$1/g'page.html>list.lst但显然它失败了。准确地说,这是我的输入:我想要的输出是输入文件中所有匹配项的逗号分隔或空格分隔列表:style/css/colors.css,style/css/global.css,style/css/icons.css我想我的表达是正确的:href="([^"]*)"但我不知道如何执行此操作。sed会进行搜索/替换,这不是我想要的。(相反,我只需要保留匹配项并将其余部分扔掉,而不是替换它们)

linux - Bash:从文件中读取标准输入并将标准输出写入文件

我正在尝试运行一个应用程序(比方说top),以便它从一个文件中读取stdin并从stdout写入另一个文件。目前我有mkfifostdin.pipe(tail-fstdin.pipe)|top它按预期工作,因为我可以echo向该文件发送一些内容,top将接收它。但我无法重定向top的输出。我怎样才能做到这一点?编辑:好的,让我们从头开始。我正在测试这个:cattest.shechoSaysomethingreadsomethingechoyousaid$something 最佳答案 让我们忘记top,它似乎是一个转移注意力的东西。要

linux - Bash:从文件中读取标准输入并将标准输出写入文件

我正在尝试运行一个应用程序(比方说top),以便它从一个文件中读取stdin并从stdout写入另一个文件。目前我有mkfifostdin.pipe(tail-fstdin.pipe)|top它按预期工作,因为我可以echo向该文件发送一些内容,top将接收它。但我无法重定向top的输出。我怎样才能做到这一点?编辑:好的,让我们从头开始。我正在测试这个:cattest.shechoSaysomethingreadsomethingechoyousaid$something 最佳答案 让我们忘记top,它似乎是一个转移注意力的东西。要

linux - 从文件中提取两个模式之间的线

这个问题在这里已经有了答案:Howtoprintlinesbetweentwopatterns,inclusiveorexclusive(insed,AWKorPerl)?(9个回答)关闭5年前。我需要从一个巨大的文件中提取两个匹配模式之间的特定行。假设pattern1(在文件中唯一)匹配特定的line#n而pattern2(在文件中不唯一)匹配line#mline#n之后的下一个直接匹配项。然后我想提取line#nto#m之间的所有行,包括line#nto#m示例文件内容*********************************************************

linux - 从文件中提取两个模式之间的线

这个问题在这里已经有了答案:Howtoprintlinesbetweentwopatterns,inclusiveorexclusive(insed,AWKorPerl)?(9个回答)关闭5年前。我需要从一个巨大的文件中提取两个匹配模式之间的特定行。假设pattern1(在文件中唯一)匹配特定的line#n而pattern2(在文件中不唯一)匹配line#mline#n之后的下一个直接匹配项。然后我想提取line#nto#m之间的所有行,包括line#nto#m示例文件内容*********************************************************

c++ - 如何在 Linux 上使用 std::ifstream 从文件中读取非 ASCII 行?

我正在尝试读取一个纯文本文件。就我而言,我需要逐行阅读并处理该信息。我知道C++有用于读取wchars的wstuffs。我尝试了以下方法:#include#includeintmain(){std::wfstreamfile("file");//aaaàaaastd::wstringstr;std::getline(file,str);std::wcout但是如您所见,它并没有读取整行。它在读取非ASCII的“à”时停止。我该如何解决? 最佳答案 您需要了解编码的一些基本概念。我推荐阅读这篇文章:TheAbsoluteMinimum

c++ - 如何在 Linux 上使用 std::ifstream 从文件中读取非 ASCII 行?

我正在尝试读取一个纯文本文件。就我而言,我需要逐行阅读并处理该信息。我知道C++有用于读取wchars的wstuffs。我尝试了以下方法:#include#includeintmain(){std::wfstreamfile("file");//aaaàaaastd::wstringstr;std::getline(file,str);std::wcout但是如您所见,它并没有读取整行。它在读取非ASCII的“à”时停止。我该如何解决? 最佳答案 您需要了解编码的一些基本概念。我推荐阅读这篇文章:TheAbsoluteMinimum

linux - 将固定宽度的文件从文本转换为 csv

我有一个文本格式的大数据文件,我想通过指定每一列的长度将其转换为csv。列数=5列长[42511]观察样本:aasdfh9013512ajshdj2445df预期输出aasd,fh,90135,1,2ajsh,dj,2445,d,f 最佳答案 GNUawk(gawk)通过FIELDWIDTHS直接支持这一点,例如:gawk'$1=$1'FIELDWIDTHS='42511'OFS=,infile输出:aasd,fh,90135,1,2ajsh,dj,2445,d,f 关于linux-将固