问题标签 [gnu-coreutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
720 浏览

linux - 超时 linux 命令行为

我在看linuxtimeout命令。

Q1:timeout实用程序是否也发送信号childprocess

Q2:childprocesses如果父进程在超时间隔之前退出,它会杀死吗?

我在文档之间跳转,但我找不到适合这种行为的文档。

我的观察:

我运行以下脚本timeout 2s ./test.sh

测试.sh

这里是test.sh在 2 秒前退出,因此我认为超时实用程序无法终止分叉进程,因此我看到了hello world5 秒后

那么这是否意味着超时不能杀死子进程?

0 投票
1 回答
149 浏览

linux - 带有 ptxdist、coreutils 的嵌入式 Linux 中断

我的意图是更新 coreutils 包中包含的“df”命令,因为我需要它来显示带有>df -i. 此选项目前在嵌入式版本上不可用。

我做了什么:我遵循了快速入门指南(4.2 -> http://www.pengutronix.de/software/ptxdist/appnotes/OSELAS.BSP-Pengutronix-Generic-arm-Quickstart.pdf)。我使用了 GNU 网站上最新版本的 coreutils。在我这样做之前>ptxdist targetinstall coreutils,我将其写入规则文件夹中的 coreutils.make 文件:

然后我在我的设备上使用了创建的嵌入式 Linux。乍一看,它似乎效果很好。我能够使用新选项>df -i,但是在出现 ssh 连接错误一段时间后,它会在不应该的地方询问用户名和密码,我无法访问内部 falsh 等等。看起来这个包破坏了 Linux 版本中的其他东西。

什么可能导致这些问题?我使用 coreutils 包做错了吗?

0 投票
1 回答
1775 浏览

bash - 忽略连接命令中的标头(过时的 coreutils)

我有两个 CSV 文件要加入一个列,我正在使用 unixjoin命令,我想在加入时忽略标题,我--header在 GNU core utils v8.21 中使用选项,但我的产品机器有 core utils v8.4,--header在 GNU core utils 8.4 中不可用,我无法升级生产机器中的核心 utils。有没有办法跳过标题(第一行并加入文件)

0 投票
1 回答
10 浏览

split - 内置用于将“拆分”放入管道中?

假设我想处理largedata.xzwith的所有行prog1,并且prog1在不耗尽 RAM 的情况下运行所有​​这些行时遇到了一些麻烦。但是,并不真的需要它在所有数据上运行,我可以在每百万行输入上运行它,给我几个摘要(prog1每百万行重新启动)。

直到现在我一直在做

避免首先做split并获得一堆中间输入文件,但感觉这个用例应该由一些标准的 Unix 工具覆盖。

0 投票
0 回答
123 浏览

c - 关于coreutil中base64解码的实现

最近开始看coreutil的源码(8.23版,来源:git://git.sv.gnu.org/coreutils)

在阅读base64.c(实现base64的编码和解码算法)时,我发现使用-i选项时的解码实现有点奇怪(即忽略非base64字符)

这是代码(src/base64.c line222 ~ 232

ignore_garbage设置时,只要找到非 base64 字符,就会执行 memmove 操作。即将所有左边的字符移动到当前位置。

因此,如果有 N 个非 base64 字符,则将执行 N 次 memmove。我认为这是非常低效的。

相反,为什么我们只是简单地对 inbuf 进行完全扫描,找到所有非 base64 字符,然后用所有剩余的字符填充 inbuf?

这个实现有什么限制吗?谢谢你的任何建议。

0 投票
1 回答
57 浏览

python - GNUs Coreutils 'fmt' 实用程序的差异化测试

我正在探索各种测试策略(微分、回归、单元等),并被分配了测试 GNUsCoreutils fmt实用程序的任务。我正在尝试应用随机差分测试并创建一个预言机,以断言满足实用程序的描述的后置条件。


我想做的是创建一个 Python 实用程序,它生成一个随机字符串,将文本换行应用于字符串(直到给定的行宽)以生成预期的输出,然后在生成的字符串上调用 fmt 实用程序并断言输出与预期输出匹配。为此,我正在尝试利用textwrapPython 模块。但是,我还没有找到一种方法来确保保持缩进。考虑一个包含内容的文件(file.txt)

作为 fmt 实用程序的输入。调用命令fmt -w 50 file.txt会导致输出:


根据 fmt 实用程序文档,

默认情况下,输出中会保留空行、单词之间的空格和缩进;不连接具有不同缩进的连续输入行;选项卡在输入时扩展并在输出时引入。

fmt 更喜欢在句尾换行,并尽量避免在句子的第一个单词之后或句子的最后一个单词之前换行。断句定义为段落的结尾或以任何“.?!”结尾的单词,后跟两个空格或行尾,忽略任何插入的括号或引号。

在我尝试模仿与 fmt 实用程序相同的输出行为时,我决定使用 textwrap 模块fill功能,如下所示:

根据 Python 文档,应该执行以下操作:

  1. 包裹线的最大长度将等于宽度参数 (50)。
  2. 输入中的所有制表符都将扩展为空格。
  3. 每行开头和结尾的空格(在换行之后但在缩进之前)不会被删除。
  4. 假设一个句子结尾由一个小写字母后跟“.”、“!”或“?”之一,可能后跟“””或“'”之一,后跟一个空格。
  5. 只有空格才会被认为是换行的好地方。

但是,同一输入上的 textwrap.fill 函数的输出返回:

如您所见,缩进级别未保持。


我可以最好地利用什么工具和/或差异测试策略来最有效地测试 fmt 实用程序?任何建议都非常感谢!

0 投票
1 回答
737 浏览

linux - LFS:coreutils 编译错误

帮手:

--help' info from man/cp.td/cp Try如果选项输出到 stderr Makefile:14066: recipe for target 'man/cp.1' failed make[2]: * [man/cp.1] Error 127 make[2 ]则无法获得--no-discard-stderr' ]:离开目录'/sources/coreutils-8.23' Makefile:11098:目标'all-recursive'的配方失败make [1]:* [all-recursive]错误1 make [1]:离开目录'/sources/coreutils -8.23' Makefile:5765: 目标 'all' 的配方失败 make: *** [all] 错误 2

0 投票
0 回答
27 浏览

linux - 交互式教程的容器生成

我想为 unix coreutils 写一个交互式网络教程。我很好奇评估学生在后端提交的解决方案的最佳方法。列举一些虚拟化/容器化技术,它们可以消除安全漏洞(用户访问后端服务器服务器)的可能性并且硬件资源开销低?

每个人都在谈论 Docker,但它可以用于此目的吗?

0 投票
2 回答
1557 浏览

regex - 带有反引号的 grep 正则表达式匹配所有行

为什么?那场比赛如何运作?

0 投票
2 回答
190 浏览

bash - 在 bash 中同时使用 GNU Utils 和 Mac Utils

我正在绘制具有 N 个相关数据条目的超大文件。(N 因文件而异)。

在这些文件中的每一个中,都会在文件的开头和结尾自动生成注释,并希望在将它们重新组合成一个大数据集之前将它们过滤掉。

不幸的是,我使用的是 MacOSx,在尝试删除文件的最后一行时遇到了一些问题。我读过最有效的方法是使用 head/tail bash 命令来切断数据部分。由于 head -n -1 不适用于 MacOSx,我不得不通过自制软件安装 coreutils,其中 ghead 命令运行良好。然而命令,

不起作用。一个不太令人满意的解决方法是我不得不分开命令,使用 ghead > newfile,然后在 newfile > gfinal 上使用 tail。不幸的是,这需要一段时间,因为我必须用第一个 ghead 编写一个新文件。

是否有将 GNU Utils 与标准 Mac Utils 结合的解决方法?

谢谢,凯文