小编Foo*_*Foo的帖子

如何使用 awk 的 gensub 或替代方案来替换重叠匹配

我在用:

$ echo ".a.b.c." | awk '
{
  t=gensub(/.([a-z])./,"[\\1]","g",$1); print t
}'
[a]b[c]
Run Code Online (Sandbox Code Playgroud)

我想结束[a][b][c]。我怎样才能开始gensub处理重叠的比赛?

如果这是不可能的,我怎样才能实现这一目标?

bash awk

3
推荐指数
1
解决办法
389
查看次数

阻止命令在 zsh 中运行

在 bash 中我可以这样做:

#!/bin/bash
validate() {
    if [[ "$BASH_COMMAND" == whoami ]]; then
        return 1
    else
        return 0
    fi
}
set -T
trap 'validate' DEBUG
shopt -s extdebug
Run Code Online (Sandbox Code Playgroud)

这样如果我运行whoami什么也不会发生。

我怎样才能在 zsh 中实现相同的目标?我看过但在文档preexec中找不到太多信息

bash zsh

3
推荐指数
1
解决办法
175
查看次数

标签 统计

bash ×2

awk ×1

zsh ×1