我有输出,看起来像这样:正则表达式停在一个特定的字符
16 1VirtualMachine1 [aljkas] some_data.blah
17 Virtual Machine 1 [jklaj] some_more_data.blah
23 Virtu al Machin e 1 [adwv] some_more_data.blah
12 Virtual_Machine one [awa] some_more_data.blah
11 VirtualMa chineone [kladfsa] some_more_data.blah
而且我想只是空间之间以及多达[
内容。
所以输出,将刚刚返回:
1VirtualMachine1
Virtual Machine 1
Virtu al Machin e 1
Virtual_Machine one
VirtualMa chineone
我的正则表达式看起来像这样(但没有做什么,我认为它应该):
a_cmd | grep -o -E '[[:space:]]{2,}[a-zA-Z0-9\.,_()]+.+[[:space:]]{2,}'
而这只是返回所有的原始输出。我究竟做错了什么?
它看起来像你的输入被分隔字符数。你为什么不直接从字符7-32中抓取,然后去掉空格,比如'cut -c7-32'? – kojiro
由于名称可能非常长或很短,并影响'['在我的输出中的位置:( –
请编辑问题,以便您的示例输入具有此特征。 – kojiro