问题标签 [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.
linux - 根据另一个数字列对数字列进行排序
我有以下文件:
我想使用 AWK 或 bash 命令根据第一列对第二列进行排序,以得到如下输出:
c++ - 使用 gnu coreutils 在 C++ 中查找包含警卫错别字
下面是一个 C++ 包含保护的错字。两者都应该阅读_MYFILE_H_
。
您如何建议使用 GNU coreutils(例如 grep、awk)在一堆头文件中搜索这样的错字?
shell - 如何通过 Unix join 获取外连接中的所有字段?
假设我有两个文件en.csv
和sp.csv
,每个文件都包含两个逗号分隔的记录:
en.csv
:
sp.csv
:
如果我执行
我得到的输出是:
请注意,所有缺少的字段都已折叠。要获得“正确”的完全外连接,我需要指定一种格式;因此
产量
这种产生完全外连接的方法的一个缺点是需要显式指定最终表的格式,这在编程应用程序中可能不容易做到(连接表的身份仅在运行时才知道)。
最新版本的 GNUjoin
通过支持特殊格式消除了这个缺点auto
。因此,使用join
上面最后一个命令的这样一个版本,可以用更通用的命令代替
如何使用join
不支持该-o auto
选项的版本实现相同的效果?
背景和细节
我有一个 Unix shell (zsh) 脚本,旨在处理多个 CSV 平面文件,并通过广泛使用 GNUjoin
的 '-o auto' 选项来实现。我需要修改此脚本,以便它可以在可用join
命令不支持该-o auto
选项的环境中工作(例如 BSDjoin
以及旧版本的 GNU的情况join
)。
脚本中此选项的典型用法如下:
我展示这个例子是为了说明-o auto
用显式格式替换是很困难的,因为要包含在这种格式中的字段直到运行时才知道。
上面的函数_reccut
基本上是从文件中提取列,并沿着它们的第一列连接结果表。要查看_reccut
实际效果,想象一下,除了上面提到的文件之外,我们还有文件
de.csv
然后,例如,要并排显示 的第 3en.csv
列、第 2 列和第 4sp.csv
列以及 de.csv 的第 3 列,可以运行:
gcc - 配置coreutils时如何指定lib目录
我试图弄清楚如何编译 coreutils 8.20(特别是排序)并让它使用我的 64 位库而不是 32 位库。
我的 32 位库位于:/lib
我的 64 位库位于:/lib/64
我将我的 LD_LIBRARY_PATH 设置为 /lib/64 但它仍然从 /lib 加载库,并且配置脚本的命令行选项似乎都没有满足我的需求。
当我在以前的 sort 安装(来自 coreutils 8.9)上运行 ldd 时,它使用的是 64 位库:
系统信息:SunOS 5.10 Generic_147440-26 sun4u sparc SUNW,Sun-Fire-V890
任何意见,将不胜感激。
date - “日期+%s”的反义词是什么?
有什么我可以代替的东西??
来完成这项工作吗?
macos - Osx终端:如何打开一个或多个文件路径是命令输出的文件夹/文件
编辑:我找到了一个可行的解决方案。引用文件路径以确保它们被整体阅读显然很重要。
我写了一个我想在 osx 的终端中使用的命令。它获取目录中的文件和文件夹路径列表,将它们打乱,然后在打乱后获取 txt 第一行中的路径。
这是我到目前为止所得到的:[1]
有了gfind ~/x/y/ | gshuf | ghead -n 1 > ~/Desktop/z.txt
这种格式的文件路径,/Users/me/x/y/some folder/some file.txt
我不想将此文件或文件夹的路径写入.txt,而是想打开它,就好像我只是在finder中双击它一样。我怎样才能做到这一点?根据手册页中的描述,我认为 open 命令 [2] 是正确的,但我不确定如何使用它。我应该如何使用它?或者,如果它是错误的命令,我应该使用哪个命令?
[1]
我通过 macports 使用 gnu coreutils,这就是为什么熟悉的命令名称前面有 ag
[2]
open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b <bundle identifier>] [-a <application>] [filenames] [--args arguments]
Help: Open opens files from a shell.
By default, opens each file using the default application for that file.
If the file is in the form of a URL, the file will be opened as a URL.
Options:
-a Opens with the specified application.
-b Opens with the specified application bundle identifier.
-e Opens with TextEdit.
-t Opens with default text editor.
-f Reads input from standard input and opens with TextEdit.
-F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
-R, --reveal Selects in the Finder instead of opening.
-W, --wait-apps Blocks until the used applications are closed (even if they were already running).
--args All remaining arguments are passed in argv to the application's main() function instead of opened.
-n, --new Open a new instance of the application even if one is already running.
-j, --hide Launches the app hidden.
-g, --background Does not bring the application to the foreground.
-h, --header Searches header file locations for headers matching the given filenames, and opens them.
c - xstrtoul() 在哪里/如何定义?
我正在查看代码ls.c
并注意到对xstrtoul()
. 我想知道这个有用的函数到底是在哪里定义的。这导致了我xstrtol.h
,它有以下片段:
如果我理解正确,预处理器通过后生成的函数原型将是:
xstrtol.c
然而,在is中定义的唯一相关函数__xstrtol()
具有以下签名:
我的猜测是,不知何故,编译器每次都映射这个函数的多个实例,用另一个名称代替__xstrtol
,另一种类型代替__strtol_t
. 但我不明白这是在哪里/如何完成的。#define
(在顶部的这两个中只有一个xstrtol.c
)。
macos - osx:启动包含 gnu coreutils 命令的 shell 脚本,通过终端工作,而不是通过 applescript
我已经从 osx 上的 macports 安装了 gnu coreutils。当我从终端启动它时,使用各种 coreutils 的这个脚本 [1] 按预期工作,但是当我使用 applescript [2] 启动它时,我收到一条错误消息 [3]。
[1] 外壳脚本:
[2] 苹果脚本:
[3] 错误信息:
这里有什么问题?
bash - gnu less -N 从不同的行开始?
我想使用 gnu less -N 在文本文件上显示行号,但我希望起始编号与第一行不同。是否可以更改 gnu less 计算行数的起始行仍然显示完整文件?
举些例子:
bash - 如何在 Unix 中计算文件中的所有空格
我想在 Unix 中计算我的文件中的所有空格,我尝试了以下命令:
它给了我以下输出:
我的文件中有三个空格,所以它是准确的命令吗?还有更多我如何过滤它以获得准确的空格,所以只有“3”应该作为输出,以及如何删除它