标签: gnu

如何提倡 GNU 添加“--json”参数以使所有 CLI 命令兼容?

请称我为梦想家,但想象一下这样一个世界:\n我们使用的“每个”CLI 工具都可以选择\xc2\xa0 生成 \xc2\xa0 稳定的输出(以 JSON 表示)。\xc2\xa0\n以编程方式使用 CLI 工具,例如ls, free, dffdisk将是 a\xc2\xa0breeze。\xc2\xa0\nGNU 标准化参数语法约定的方式,\n它可以按照\n --json生成根据 JSON 规范格式化的\xc2\xa0tool 特定报告”的方式标准化输出吗? ?\xc2\xa0\n这是否已经被尝试过并可能被拒绝?\xc2\xa0\n如果没有,我们如何推动这样的事情?

\n

command-line standard gnu json

0
推荐指数
1
解决办法
298
查看次数

Linux 中的 Grep 和 Cut 命令

我有一个包含大量数据的 csv 文件。我希望为值 >=1 剪切第 9 列,然后使用 grep 显示匹配的完整行。

样本格式:

ABC,XYZ,RTY,CREAM,FRANCE,170019,ST REMY CREME,3035540005229,0.75,1,15,26.99,10       
ABC,RDS,XSD,SPICE,NETHERLANDS,390476,THE KINGS GINGER,5010493025621,1.5,1,41,49.95,NA      
ABC,RMS,DKS,TABLE WINE RED,CHILE,400176,SANTA ISABELA,63657001349,3,1,12.5,31.99,0    
Run Code Online (Sandbox Code Playgroud)

我试过

grep . Myfile.csv |cut -d"," -f9 | sort  |grep -E  "^(1*[1-9][2-9]*(\.[2-9]+)?|1+\.[2-9]*[1-9][2-9]*)$"
Run Code Online (Sandbox Code Playgroud)

但它只显示第 9 列的值,而不是所有列的完整行。

并且

grep $(cut -d"," -f9 Myfile.csv | grep -E  "^(1*[1-9][2-9]*(\.[2-9]+)?|1+\.[2-9]*[1-9][2-9]*)$") Myfile.csv
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒。

PS:不能使用 awk (:-

grep bash gnu cut csv

0
推荐指数
2
解决办法
802
查看次数

ls -d 命令仅返回 `.` 例如,并且没有子目录

我安装了标准ls,还安装了lsd,它是 ls 的书呆子字体替代品。我提到这一点是因为该错误可能与别名有关。

为了立即进行测试,我已经alias ls=ls删除了所有自定义命令。

如果我输入ls/etc 目录,其中显然有几个子文件夹(您可以在没有 -d 标志的情况下看到这些子文件夹),我会得到以下内容:

>>>root@Unraid:/etc# ls -d /
/
>>>root@Unraid:/etc# ls -d
.
>>>root@Unraid:/etc# lsd -d
 ./
>>>root@Unraid:/etc# lsd -d /
 //
Run Code Online (Sandbox Code Playgroud)

丢失的代码点只是一个文件夹图标。为了清楚起见,我用浏览器兼容的表情符号替换了所有框。LSD 已经安装几天了,不是问题。他们的行为相同。

我在提示行前面加上前缀>>>只是为了让它们更容易挑选出来。

让我们以我的主目录为例。~正确答案是、lsd中有 2 个文件夹pkg

>>>root@Unraid:~# lsd
 lsd/   pkg/   appdataUNRAID.code-workspace@    mdcmd@

>>>root@Unraid:~# ls -F
appdataUNRAID.code-workspace@  lsd/  mdcmd@  pkg/


>>>root@Unraid:~# lsd -F
   lsd/     pkg/    appdataUNRAID.code-workspace@    mdcmd@
>>>root@Unraid:~# ls
appdataUNRAID.code-workspace  lsd  mdcmd  pkg
>>>root@Unraid:~# ls -lhp
total 0
lrwxrwxrwx …
Run Code Online (Sandbox Code Playgroud)

linux command-line ls gnu utilities

0
推荐指数
2
解决办法
1006
查看次数

Linux 可以与 GNU 以外的 UNIX 系统一起分发吗?

如果我制作了一个 Linux 发行版,我可以添加 Busybox 或除 GNU 之外的其他 UNIX 系统吗?或者 Linux 和 GNU 完全相互依赖吗?

linux gnu busybox distributions

0
推荐指数
1
解决办法
183
查看次数

cp -a 无法复制目录中的所有文件

我希望将仅包含这些文件的目录内的所有文件(所有文件都是常规文件 - 该目录内没有目录、符号链接等)复制到另一个预先存在的目录。

这些文件具有非常常见的名称,例如robots.txt,并且不遵循任何特定模式。

我尝试了类似的命令:

cp -a "$HOME"/a "$HOME"/b 
Run Code Online (Sandbox Code Playgroud)

我知道这-a是一个快捷组合-d(保留模式、所有权和时间戳)以及-R命令递归复制。

如果复制是递归的,为什么不复制文件以及解决方案是什么?

directory gnu cp recursive

-1
推荐指数
1
解决办法
3355
查看次数

sed 删除特定行号后的空行

我试图删除第 3 行之后的所有空行,直到文件末尾:

cat ${File}
1

2
3


4

5

5



6
7



8
9


sed -e '3,${s~^$~~g}' ${File}
1

2
3


4

5

5



6
7



8
9

Run Code Online (Sandbox Code Playgroud)

观察:输出没有变化。

期望输出

1

2
3
4
5
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)

有什么建议?

sed gnu text-processing

-1
推荐指数
2
解决办法
159
查看次数

为什么 GNU 说它“不是 Unix”?

我使用 Fedora。今天我发现了 GNU(在网上),直到昨天我才知道。我知道 GNU 是一个类 Unix 操作系统,它是自由软件,但我不明白为什么他们说 GNU 的“不是 Unix”。

gnu history

-2
推荐指数
1
解决办法
2424
查看次数

为什么 Ubuntu 被认为是 GNU/Linux?

我想知道为什么 Ubuntu 被称为“GNU/Linux”的发行版,尽管它提供了不属于 GNU GPL 许可证的专有图形驱动程序(和其他一些东西)。

linux ubuntu gnu

-2
推荐指数
2
解决办法
89
查看次数

被 GNU 项目用作标志的动物的名字是什么?

GNU 项目 (gnu.org) 用作徽标的动物的名称是什么?

为什么选择这种动物来代表该项目?

gnu history

-5
推荐指数
1
解决办法
2707
查看次数