标签: posix-compliant

如何在不使用文字制表符的情况下 grep 制表符,为什么 \t 不起作用?

当我使用 (e)grep 在文件中搜索选项卡时,我使用了文字选项卡 ( ^v + <tab>)。我不能\t用作正则表达式中选项卡的替代品。使用例如 sed 这个表达式非常有效。

那么是否有可能使用非文字替代品<tab>以及非工作/未解释的背景是什么\t

bash regex grep posix-compliant

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

为 Ubuntu 20.01 安装 stropts.h

我刚刚安装了 Ubuntu 20.04 并且正在尝试编译我的 pintOS 项目,它说没有找到 stropts.h 并且我研究了一下它只适用于 Ubuntu 18.04。有人分享了一种通过获取 stropts.h 文件来编译我的项目的方法。

我已经试过了:

apt-get
libc6-dev
build-essentials

posix-compliant linux-headers 20.04

5
推荐指数
0
解决办法
1645
查看次数

在 bash 中,`$-` 产生 `himBHs`,但 `i` 和 `s` 是无效选项——这是怎么回事?

$ echo $-
himBHs
$ set -h
$ set -i
bash: set: -i: invalid option
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
$ set -m
$ set -B
$ set -H
$ set -s
bash: set: -s: invalid option
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
Run Code Online (Sandbox Code Playgroud)

因此我无法使用此方法来恢复 bash 状态

oldstate="$(set +o); set -$-"                # POSIXly store all set options.
.
.
set -vx; eval "$oldstate"         # restore all options stored.
Run Code Online (Sandbox Code Playgroud)

如Unix & Linux 答案中所述

$ …
Run Code Online (Sandbox Code Playgroud)

bash posix-compliant

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

为什么 Ubuntu 的 `time` 不遵循标准的 POSIX 格式,我该如何更改它?

如果您在 Ubuntu 18.04 中测量时间,结果会显示在一行中:

$ time sleep 1
sleep 1  0.00s user 0.00s system 0% cpu 1.003 total
Run Code Online (Sandbox Code Playgroud)

这不符合 POSIX 标准,如time的手册页中所述:

-p, --portability
       Use the following format string, for conformance with POSIX standard 1003.2:
                 real %e
                 user %U
                 sys %S
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:

为什么 Ubuntu 使用自己的格式来显示资源使用情况?

另外,我如何改变行为?使用-p我上面引用的手册中的选项,我只会收到以下错误:

$ time -p sleep 1           
zsh: command not found: -p
-p sleep 1  0.00s user 0.00s system 73% cpu 0.002 total
Run Code Online (Sandbox Code Playgroud)

command-line posix-compliant

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