我经常看到到处都提到 POSIX,我认为它是 UNIX 的基线标准……直到我在维基百科页面上注意到以下摘录:The Open Group
由The Open Group是最有名的认证机构为UNIX商标,其公布统一UNIX规范技术标准,它扩展了POSIX标准,是UNIX系统的官方定义。
如果 UNIX 系统的官方定义是 POSIX 的扩展,那么 POSIX 到底是什么?,,, 它确实似乎是 UNIX 世界的试金石,但我不知道它是如何融入全局的。
是否有标准工具可以将字节的整数计数转换为人类可读的最大可能单位大小计数,同时将数值保持在 1.00 和 1023.99 之间?
我有我自己的 bash/awk 脚本,但我正在寻找一个标准工具,它可以在许多/大多数发行版中找到......更普遍可用的东西,理想情况下有简单的命令行参数,和/或可以接受管道输入。
以下是我正在寻找的输出类型的一些示例。
1 Byt
173.00 KiB
46.57 MiB
1.84 GiB
29.23 GiB
265.72 GiB
1.63 TiB
Run Code Online (Sandbox Code Playgroud)
这是bytes-human脚本(用于上述输出)
awk -v pfix="$1" -v sfix="$2" 'BEGIN {
split( "Byt KiB MiB GiB TiB PiB", unit )
uix = uct = length( unit )
for( i=1; i<=uct; i++ ) val[i] = (2**(10*(i-1)))-1
}{ if( int($1) == 0 ) uix = 1; else while( $1 < val[uix]+1 ) uix--
num = $1 …Run Code Online (Sandbox Code Playgroud) 我在文件中有一个数字列表,每行一个。如何获得最小值、最大值、中值和平均值?我想在 bash 脚本中使用结果。
虽然我的直接情况是整数,但浮点数的解决方案将很有用,但简单的整数方法很好。
似乎通常的做法会将 IFS 的设置放在 while 循环之外,以免在每次迭代时重复设置......这只是一种习惯性的“猴子看,猴子做”的风格,就像这只猴子直到我读过man read,还是我在这里错过了一些微妙(或明显明显)的陷阱?
内置命令和另一个名义上可以做同样事情的命令之间有什么内在的区别吗?
例如。内置函数是否得到“特殊”处理?...运行它们的开销是否更少?.. 或者它们只是简单地“内置”;像你汽车的仪表盘?
...是否有这些内置函数的明确(当前)列表?
我有几个.htm在Gedit中打开的文件没有任何警告/错误,但是当我在Jedit.
HTML 元标记声明“charset=ISO-8859-1”。JEDIT允许备用编码的列表和编码自动检测的名单(目前“BOM XML-PI”),所以我的眼前的问题已得到解决。但这让我想到:如果元数据不存在怎么办?
当编码信息不可用时,是否有 CLI 程序可以“最佳猜测”哪些编码可能适用?
而且,虽然这是一个稍微不同的问题;是否有测试已知编码有效性的 CLI 程序?
我想$var in在 bash 中使用带有范围的 shell 括号扩展。简单地放置{$var1..$var2}不起作用,所以我去了“横向”......
以下工作,但它有点笨拙。
# remove the split files
echo rm foo.{$ext0..$extN} rm-segments > rm-segments
source rm-segments
Run Code Online (Sandbox Code Playgroud)
有没有更“正常”的方式?
以下示例显示向here-string添加了一个换行符。
为什么要这样做?
xxd -p <<<'a'
# output: 610a
xxd -p <<<'a
'
# output: 610a0a
Run Code Online (Sandbox Code Playgroud) 有时我想通过管道传输进程的颜色编码输出,例如。grep ...但是当我将它输送到另一个进程时,例如。sed,颜色代码丢失了......
有什么方法可以保持这些代码完好无损吗?
这是一个丢失彩色输出的示例:
echo barney | grep barney | sed -n 1,$\ p
Run Code Online (Sandbox Code Playgroud) 下面的例子让我感到惊讶。这似乎是直觉......除了一个事实,即有一根胡须更有用户时间的echo | sed组合。
为什么在单独运行时echo使用这么多sys 时间,或者问题应该是,如何sed改变游戏状态?似乎在这两种情况下echo都需要做相同的回声......
time echo -n a\ {1..1000000}\ c$'\n' >file
# real 0m9.481s
# user 0m5.304s
# sys 0m4.172s
time echo -n a\ {1..1000000}\ c$'\n' |sed s/^\ // >file
# real 0m5.955s
# user 0m5.488s
# sys 0m1.580s
Run Code Online (Sandbox Code Playgroud)