【问题标题】:awk digit range match of first columnawk 第一列的数字范围匹配
【发布时间】:2021-07-18 06:46:40
【问题描述】:

在 FreeBSD 上,我想从 shell 脚本中自动禁用除第一个 (ttyv0) 之外的所有控制台。使用 AWK 似乎比使用 SED 更容易,但如果有人知道使用 SED 的方法,请也分享一下。

With awk this will work for a single console:
  awk '/ttyv1/ { sub(/onifexists/,"off") } 1' /etc/ttys 
However this will NOT:
  awk '/ttyv{1-8}/ { sub(/onifexists/,"off") } 1' /etc/ttys

【问题讨论】:

  • 请在您的问题中添加示例输入(无描述、无图像、无链接)和该示例输入所需的输出(无评论)。

标签: awk freebsd


【解决方案1】:

根据您显示的尝试,您能否尝试以下操作。这应该捕获 tty0 到 tty8 并在行中进行更改。

awk '/ttyv[0-8]/ { sub(/onifexists/,"off") } 1' /etc/ttys

【讨论】:

    【解决方案2】:

    在 sed 中很容易做到:

    sed -e '/ttyv[0-8]/{s/onifexists/off/}' /etc/ttys
    

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多