标签: gnu-coreutils

如果coreutils排序中的数值相等,则保留原始订单?

请考虑以下代码段:

echo '7 a
3 c
3 b
2 first
2 second
2 third
2 fourth
2 fifth
9 d
2 sixth
' | sort -n -k 1
Run Code Online (Sandbox Code Playgroud)

它给出了一个输出:

2 fifth
2 first
2 fourth
2 second
2 sixth
2 third
3 b
3 c
7 a
9 d
Run Code Online (Sandbox Code Playgroud)

虽然列表是由第一个字符以数字方式正确排序的,但对于那些连续且相等的值,原始顺序也已被洗牌.我想获得:

2 first
2 second
2 third
2 fourth
2 fifth
2 sixth
3 c
3 b
7 a
9 d
Run Code Online (Sandbox Code Playgroud)

这有可能sort吗?如果没有,使用shell工具实现这种排序的最简单方法是什么?

linux sorting bash gnu-coreutils

3
推荐指数
1
解决办法
737
查看次数

Yocto busybox覆盖coreutils

我正在尝试将“ join”命令安装到我的yocto映像中。我已经安装了busybox,但是它没有join功能,但是有一部分coreutils。Coreutils确实具有join的功能,因此我需要从coreutils配方中进行安装。

如果我仅使用IMAGE_INSTALL + =的标准配方来安装busybox和coreutils,则某些程序将符号链接到busybox,而另一些则链接到coreutils,这对我来说是个问题。我如何告诉coreutils软件包仅在映像上安装“ join”并忽略所有其他coreutils数据?

recipe gnu-coreutils busybox bitbake yocto

3
推荐指数
1
解决办法
2488
查看次数

如何在bash中的多字符分隔符上拆分字符串?

为什么不能使用以下bash代码?

for i in $( echo "emmbbmmaaddsb" | split -t "mm"  )
do
    echo "$i"
done
Run Code Online (Sandbox Code Playgroud)

预期产量:

e
bb
aaddsb
Run Code Online (Sandbox Code Playgroud)

bash shell ubuntu gnu-coreutils

3
推荐指数
4
解决办法
2万
查看次数

使用GNU拆分的数字后缀错误

我有一个大的(1.8GB)文件,我想分成最大100MB的文件.为此,我使用GNU拆分功能,选项-d.结果数字后缀很奇怪.直到89,一切都很好,但随后它从9000开始,然后是9001,......等等.有没有人知道为什么我会得到这种奇怪的行为?

bash shell command-line gnu gnu-coreutils

3
推荐指数
1
解决办法
1891
查看次数

linux下的shebang不会拆分参数

我有kotlin脚本(但它可以是带参数的任何Linux命令),例如:

#!/usr/bin/env kotlinc -script
println("hello world")
Run Code Online (Sandbox Code Playgroud)

当我在Ubuntu中运行它时,我得到:

/usr/bin/env: ‘kotlinc -script’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是当我在命令行中运行时:

/usr/bin/env kotlinc -script
Run Code Online (Sandbox Code Playgroud)

有用.找到路径是没有问题的,因为脚本:

#!/usr/bin/env kotlinc
println("hello world")
Run Code Online (Sandbox Code Playgroud)

作品

出于某种原因,Ubuntu "#!/usr/bin/env kotlinc -script"将其"kotlinc -script"视为单一参数.但只在shell脚本标题中.

我需要明确的运行我的剧本"#!/usr/bin/env kotlinc -script",因为我希望它在哪里其他发行结束的环境中正常运行"kotlin"$PATH.

在Ubuntu coreutils中是否有错误或某事?有办法解决吗?

linux bash shell ubuntu gnu-coreutils

3
推荐指数
2
解决办法
134
查看次数

如何修剪UNIX who命令的输出?

我正在使用unix who命令处理一个想法.众所周知,似乎没有直接开关只提供用户名和行(终端)信息而没有日期和屏幕信息...例如:输出是mneedham tty7...2012-02-19 11:26 (:0)

我想要得到的只是那mneedham tty7部分.无论用户名和终端信息有多长,解决方案都需要工作.

我尝试使用tr -s ' '(一个空间)who | tr -s ' ',这给了我一切之间的空间.不是我想要的.Tried cut -d" " -f1只获取用户名.所以我希望有人可以帮我找到正确的命令来获取两点信息.

谢谢.

bash gnu-coreutils

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

为什么我编译的bash(3.8M)比我的系统提供的更大(937K)?

我在这里下载了bash shell 4.2版表单:http://ftp.gnu.org/gnu/bash/,然后使用以下命令自行编译:

./configure
make
Run Code Online (Sandbox Code Playgroud)

但是我编译的bash比一个系统提供的要大得多:

这是我的bash:

$ ls -lh bash
-rwxrwxr-x 1 unimous unimous 3.8M Oct 31 23:57 bash
Run Code Online (Sandbox Code Playgroud)

这是系统的bash:

$ ls -hl /bin/bash 
-rwxr-xr-x 1 root root 937K Sep 19 21:40 /bin/bash
Run Code Online (Sandbox Code Playgroud)

linux bash makefile gnu-coreutils

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

建议的方法将stdin行批处理到另一个重复命令,比如xargs但是通过stdin而不是参数?

我有一个数据导入脚本,它读取行并将它们添加到数据库,到目前为止一直很好.不幸的是,脚本(或其运行时或数据库库或其他)中的某些东西是内存泄漏,因此大型导入使用单调增加的主内存,导致交换缓慢,然后内存耗尽的进程死亡.将导入分为多次运行是一种解决方法; 我一直这样做,split然后在每个部分上执行导入脚本的循环执行.

但我宁愿跳过分割文件,这感觉它应该是一个单行.事实上,似乎应该存在一个等价于xargs将行传递给stdin上的指定命令,而不是作为参数.如果这个假设命令是xlines,那么我希望以下内容为myimportgiantfile.txt中每批最多50,000行运行脚本:

cat giantfile.txt | xlines -L 50000 myimport
Run Code Online (Sandbox Code Playgroud)

我是否xlines在某个其他名称下缺少类似的功能,或隐藏在其他命令的选项中?或者可以xlines用几行BASH脚本完成?

linux bash xargs gnu-coreutils

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

为什么 ln -sf 不覆盖现有的目录链接

根据文档,命令ln -f删除现有的目标文件。这是否意味着如果我创建符号链接,-f 应该删除或覆盖目标处的任何现有符号链接?

我有一个符号链接,例如 L,指向 DIR1 并输入ln -sf DIR2 L。但L仍然指向DIR1。仅rm L此命令创建指向 DIR2 的链接后。

通过文件的符号链接,它的行为符合预期。

目录链接有什么问题?(Ubuntu 16.04.2 LTS 和 Windows WSL 上的 bash 4.3.48)

linux ln gnu-coreutils

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

为什么不开球使用T恤

有一个gnu coreutils程序'tee'和一个linux(/ libc?)系统调用'tee'.程序T恤不会打电话给发球台.相反,它'读'然后'fwrite'(当然是多次).

为什么不开球呢?我认为这是为了性能或可移植性,但我找不到答案.

后续问题,为什么它'读'和'fwrite',而不是'read'/'write'或'fread'/'fwrite'?

linux system-calls gnu-coreutils

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