当我使用 (e)grep 在文件中搜索选项卡时,我使用了文字选项卡 ( ^v + <tab>
)。我不能\t
用作正则表达式中选项卡的替代品。使用例如 sed 这个表达式非常有效。
那么是否有可能使用非文字替代品<tab>
以及非工作/未解释的背景是什么\t
?
我刚刚安装了 Ubuntu 20.04 并且正在尝试编译我的 pintOS 项目,它说没有找到 stropts.h 并且我研究了一下它只适用于 Ubuntu 18.04。有人分享了一种通过获取 stropts.h 文件来编译我的项目的方法。
我已经试过了:
apt-get
libc6-dev
build-essentials
$ 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)
$ …
Run Code Online (Sandbox Code Playgroud) 如果您在 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)