小编Pet*_*r.O的帖子

POSIX 究竟是什么?

我经常看到到处都提到 POSIX,我认为它是 UNIX 的基线标准……直到我在维基百科页面上注意到以下摘录:The Open Group

由The Open Group是最有名的认证机构为UNIX商标,其公布统一UNIX规范技术标准它扩展了POSIX标准,是UNIX系统的官方定义

如果 UNIX 系统的官方定义是 POSIX 的扩展,那么 POSIX 到底是什么?,,, 它确实似乎是 UNIX 世界的试金石,但我不知道它是如何融入全局的。

standard posix

152
推荐指数
4
解决办法
5万
查看次数

将字节数转换为人类 KiB MiB 等的标准工具;喜欢 du, ls1

是否有标准工具可以将字节的整数计数转换为人类可读的最大可能单位大小计数,同时将数值保持在 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)

utilities text-processing units

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

有没有办法在单个命令中获取数字列表的最小值、最大值、中值和平均值?

我在文件中有一个数字列表,每行一个。如何获得最小值、最大值、中值平均值?我想在 bash 脚本中使用结果。

虽然我的直接情况是整数,但浮点数的解决方案将很有用,但简单的整数方法很好。

text-processing

123
推荐指数
11
解决办法
16万
查看次数

为什么经常使用`while IFS= read`,而不是`IFS=; 阅读时..`?

似乎通常的做法会将 IFS 的设置放在 while 循环之外,以免在每次迭代时重复设置......这只是一种习惯性的“猴子看,猴子做”的风格,就像这只猴子直到我读过man read,还是我在这里错过了一些微妙(或明显明显)的陷阱?

shell text-processing environment-variables

94
推荐指数
3
解决办法
12万
查看次数

内置命令和非内置命令有什么区别?

内置命令和另一个名义上可以做同样事情的命令之间有什么内在的区别吗?

例如。内置函数是否得到“特殊”处理?...运行它们的开销是否更少?.. 或者它们只是简单地“内置”;像你汽车的仪表盘?

...是否有这些内置函数的明确(当前)列表?

shell bash utilities shell-builtin

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

如何测试文本文件的编码...它是否有效,它是什么?

我有几个.htmGedit中打开的文件没有任何警告/错误,但是当我在Jedit.

HTML 元标记声明“charset=ISO-8859-1”。JEDIT允许备用编码的列表编码自动检测的名单(目前“BOM XML-PI”),所以我的眼前的问题已得到解决。但这让我想到:如果元数据不存在怎么办?

当编码信息不可用时,是否有 CLI 程序可以“最佳猜测”哪些编码可能适用?

而且,虽然这是一个稍微不同的问题;是否有测试已知编码有效性的 CLI 程序?

character-encoding utilities text-processing

67
推荐指数
3
解决办法
17万
查看次数

如何在序列的 shell 括号扩展中使用 $variable?

我想$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)

有没有更“正常”的方式?

shell bash brace-expansion

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

为什么 bash here-string 添加尾随换行符?

以下示例显示向here-string添加了一个换行符。
为什么要这样做?

xxd -p <<<'a'  
# output: 610a

xxd -p <<<'a
'
# output: 610a0a
Run Code Online (Sandbox Code Playgroud)

bash text-processing

43
推荐指数
2
解决办法
8190
查看次数

当我通过管道传输到另一个进程时,我的 ANSI 转义码去哪里了?我可以保留它们吗?

有时我想通过管道传输进程的颜色编码输出,例如。grep ...但是当我将它输送到另一个进程时,例如。sed,颜色代码丢失了......

有什么方法可以保持这些代码完好无损吗?

这是一个丢失彩色输出的示例:

echo barney | grep barney | sed -n 1,$\ p   
Run Code Online (Sandbox Code Playgroud)

command-line colors pipe escape-characters

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

为什么 echo &gt;file 比 echo 使用更实时?sed &gt; 文件?

下面的例子让我感到惊讶。这似乎是直觉......除了一个事实,即有一根胡须更有用户时间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)

shell bash pipe echo time

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