小编Mat*_*uba的帖子

AWK 子函数语法

我有一个包含内容的文件:

aaa.bbb.ccc ddd.eee.fff.ggg h.i.j.k
Run Code Online (Sandbox Code Playgroud)

如果我使用代码:

awk '{sub(/\.$/, ""); print $1}' test.txt
returns    aaa.bbb.ccc

awk '{sub(/\.$/, ""); print $3}' test.txt
Returns: h.i.j.k
Run Code Online (Sandbox Code Playgroud)

我理解子函数被用作:sub(regexp,replacement,target)

我不明白这部分 .$/,来自子函数。.$ 是什么?

谢谢

更新

好的,我喜欢你解释事情的方式 - 谢谢!

如果我把它应用到一个真实的例子中,

/usr/bin/host 172.0.0.10

01.0.0.172.in-addr.arpa 域名指针hostname.domain.com。

  1. /usr/bin/host 172.0.0.10 | /bin/awk '{sub(/.$/, ""); 打印 $5}' 给出:hostname.domain.com

  2. /usr/bin/host 172.0.0.10| /bin/awk '{sub(/.$/, ""); 打印 $1}' 给出:10.0.0.172.in-addr.arpa

- 子函数将匹配到行尾,因为有一个“。” - “”在做什么?-我不明白 awk 是如何将东西分成几列的?

regex awk

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

ansible:如何在centos 7上重新启动审计服务,但得到有关依赖的错误

在我的剧本中,我有一个任务来更新audit.rules,然后通知处理程序,该处理程序应重新启动已审计的服务。

task:
  - name:  6.6.7 - audit rules configuration
    template: src=X/ansible/templates/auditd_rules.j2
              dest=/etc/audit/rules.d/audit.rules
              backup=yes
              owner=root group=root mode=0640
     notify:
   - restart auditd


  handlers:
    - name: restart auditd
      service: name=auditd state=restarted
Run Code Online (Sandbox Code Playgroud)

当剧本运行时,审核规则将更新,并发出重新启动auditd的请求,但这失败,如下所示。

RUNNING HANDLER [restart auditd] ***********************************************
fatal: [ipX-southeast-2.compute.internal]: FAILED! => {"changed": false, "failed": true, "msg": "Unable to restart service auditd: Failed to restart auditd.service: Operation refused, unit auditd.service may be requested by dependency only.\n"}
Run Code Online (Sandbox Code Playgroud)

当我查看审计的单位定义时,可以看到rejectManualStop = yes。这就是为什么我无法重启服务吗?如何克服这一点以采纳新的审核规则?

 systemctl cat auditd.service
# /usr/lib/systemd/system/auditd.service
[Unit]
Description=Security Auditing Service
DefaultDependencies=no
After=local-fs.target systemd-tmpfiles-setup.service
Conflicts=shutdown.target
Before=sysinit.target shutdown.target …
Run Code Online (Sandbox Code Playgroud)

ansible centos7 systemctl

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

ansible:使用 ssh 密钥身份验证但多次询问密码 - 为什么?

在我的管理主机上,我安装了 ansible 2.2.0.0 并且我正在尝试连接到我的客户端。

客户端是一个 EC2 实例,只接受 SSH 密钥登录。我有一个简单的剧本,正在客户端上创建一个临时文件

我看到多次要求我输入私钥密码的行为,想知道为什么?我在以前版本的 Ansible 上没有看到这个行为者。

  ansible-playbook -i inventory soe-yml --verbose --private-key <keyfile> -vvv

  ansible-playbook -i inventory soe-yml --verbose --private-key <keyfile>
  Using /home/X/ansible/ansible.cfg as config file

PLAY [<instance-dns>] **************************

TASK [setup] *******************************************************************
Enter passphrase for key 'X':
 [WARNING]: sftp transfer mechanism failed on [<instance-dns>]. Use ANSIBLE_DEBUG=1 to see detailed information

Enter passphrase for key 'X':
Enter passphrase for key 'X':
Enter passphrase for key 'X':
ok: [<instance-dns>]

TASK [Create test file] ********************************************************
Enter passphrase …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-ec2 ansible

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

标签 统计

ansible ×2

amazon-ec2 ×1

awk ×1

centos7 ×1

regex ×1

ssh ×1

systemctl ×1