使用正则表达式将易翻译剧本中的段落和大文本分隔开



我有以下文本。

****************
* 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 

最新更新