这应该是一个非常简单的问题,答案相对简单。
我试图使用正则表达式来解析输出稍微修改。
我现在把这个bash代码作为脚本中的变量:
$(/usr/bin/csvstat /home/icgwfrpa/Scripts/test.csv | sed -r 's/,/;/g' | sed ':a;N;$!ba;s/\n/ /g')
此变量返回为:
1. date <type 'datetime.datetime'> Nulls: False Min: 2017-06-26 18:00:01 Max: 2017-07-14 12:00:01 Unique values: 425
2. diskusage1 <type 'int'> Nulls: False Values: 26; 27; 28; 29
3. partition1 <type 'unicode'> Nulls: False Values: /dev/mapper/rootvg-lv_root
4. diskusage2 <type 'int'> Nulls: False Values: 30
5. partition2 <type 'unicode'> Nulls: False Values: /dev/sda1 Row count: 425
这很棒。
我现在想要从此变量中删除所有内容,除了/dev/mapper/rootvg-lv_root
或/dev/sda1
之类的字符串(或者如果它出现在此输出中,则显示以/dev/*
开头的任何其他类似字符串) 。我不确定转义字符如何在带有斜杠的正则表达式中工作,所以我们将不胜感激。
为了澄清,我想要的输出应该是从/ dev / ...到空格的字符串,后跟空格或逗号,然后是序列中找到的下一个字符串。 谢谢。对不起,如果我的问题没有写好。