小编har*_*e57的帖子

在Bash中使用数字对字符串进行排序

我经常想要对带有数字的字符串进行排序,以便在排序时,例如 abc_2, abc_1, abc_10结果abc_1, abc_2, abc_10.我见过的每种排序机制abc_1, abc_10, abc_2都是从左边开始的.

有没有有效的方法来排序以获得我想要的结果?查看每个角色,确定它是否为数字,从后续数字中构建子串并将其作为数字排序的想法实在令人震惊bash.

没有胡子*nix guru实现了sort--sensible_numerical选项的替代版本吗?

sorting bash alphanumeric

59
推荐指数
3
解决办法
6万
查看次数

为什么我不在bash中启用extglob?

我刚刚在这里找到了关于bash extglob shell选项: - 在unix/linux shell中进行模式匹配时如何使用反向或负向通配符?

所使用的所有答案shopt -s extglob也提到shopt -u extglob将其关闭.我为什么要把这么有用的东西转过来?确实,为什么不默认开启?据推测,它有可能带来一些令人讨厌的惊喜.这些是什么?

bash

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

使用发球台的奇迹:任何人都可以解释一下吗?

我有时想在中间输出管道的内容(不是我们都是吗?).

我通常这样做(是的,我知道还有其他的,可能更好的方式):

terminal=$(tty) 
echo hello world |tee $terminal|awk '{print $2, $1}'
Run Code Online (Sandbox Code Playgroud)

哪个输出

hello world
world hello
Run Code Online (Sandbox Code Playgroud)

这很好,在所有方面都很可爱.

除了我真的想在不创建$ terminal变量的情况下这样做.你说,简单,只需在管道中替换' tee $terminal'with' tee $(tty),而不需要变量?对?

错误.

echo hello world |tee $(tty)|awk '{print $2, $1}'
Run Code Online (Sandbox Code Playgroud)

输出

world hello
Run Code Online (Sandbox Code Playgroud)

换句话说,我吞下了管道中间的输出.

现在我接受这肯定是第一个世界的问题,但它让我烦恼,我想知道为什么第二个解决方案不起作用.

任何人?

bash tee

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

标签 统计

bash ×3

alphanumeric ×1

sorting ×1

tee ×1