这应该是一个相对简单的问题,相对简单的答案。Bash输出无空格字符串和斜杠的正则表达式
我想使用正则表达式来分析输出稍作修改。
我有此位的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/...开头的字符串,直到空格,然后是空格或逗号,然后是序列中找到的下一个字符串。 谢谢。对不起,如果我的问题写得不好。
'相当简单的问题与一个相对简单的答案',因此可能已经答案和回答数千次。你试过什么了? –
试试这个:\ dev(。*)\ s – msalperen
这很容易回答正确的输入和所需的输出。在给定的输入中,如果一个路径总是以点,空间或其他东西结尾,那么不清楚。 –