我想从:
[重要文字,数字/字母] [未知文字] / Windows / [我要保留的文字,将有斜线]
到
[重要文字,数字/字母] Windows / [我要保留的文字,有斜线]
未知文本可能是一系列可能性,但它不包含Windows
所以基本上我想在[重要文本,数字/字母]之后的Windows之前切断文本
重要文本后面的空格将始终是行中的第一个空格
如果未知文本及其后面的斜杠不存在,我也希望它能够正常工作
答案 0 :(得分:0)
您没有提供任何实际示例,因此我认为这样的事情是一个有效的例子
abc123 unknown text which might have spaces/Windows/There might be /es here
我的主要假设是第一部分没有空格。否则你真的没有办法在重要文本和未知文本之间划分界限。
你可以用
来实现你的目标sed -e 's/^\([^ ]\) [^/]*\/Windows/\1 Windows/'
第一组parantheses从行的开头捕获所有没有空格的东西。然后我们扔掉所有东西,直到'/ Windows'并保留所有内容。