我有以下文本。
****************
* 192.168.1.1
****************
mount | grep 'on /mnt/'
/dev/drbd1 on /mnt/export/SDL-upload-A type ext4 (rw)
/dev/drbd2 on /mnt/export/SDL-upload-B type ext4 (rw)
/devmapper/NIB_VG1-LV_ems_data on /mnt/export/ems_data type xfs
[root ems_data]#
****************
* 192.168.1.4
****************
mount | grep 'on /mnt/'
nib-vip:/mnt/export/ems_data on /mnt/import/ems_data type nfs
nib-vip:/mnt/export/SDL on /mnt/import/SDL type nfs
[root ems_data]#
我想把文本分开如下:
第1部分:
****************
* 192.168.1.1
****************
mount | grep 'on /mnt/'
/dev/drbd1 on /mnt/export/SDL-upload-A type ext4 (rw)
/dev/drbd2 on /mnt/export/SDL-upload-B type ext4 (rw)
/devmapper/NIB_VG1-LV_ems_data on /mnt/export/ems_data type xfs
[root ems_data]#
第2部分:
****************
* 192.168.1.4
****************
mount | grep 'on /mnt/'
nib-vip:/mnt/export/ems_data on /mnt/import/ems_data type nfs
nib-vip:/mnt/export/SDL on /mnt/import/SDL type nfs
[root ems_data]#
使用正则表达式,并将其放入ansible剧本中的变量中。如果有人给我任何提示,那将是非常有帮助的。我试过(?<=192.168.1.1)(*)(?=#)
,但它不起作用。
我的程序:1.我正在登记册上取全文2.然后使用filter和正则表达式,我试图将其分离。
- name: read mount log
shell: cat /var/tmp/diskmount.log
register: result_mount
- set_fact
paragraph:"{{ result_mount.stdout | regex_search(regex) }}"
提前感谢
你这样做有什么原因吗?我不确定regex是否适合这里。这样的怎么样?
shell: sed -n '/192.168.1.1/,/192.168.1.4/p' text.txt