您可以使用以下方法:
sed -r 's/.+?Name/Name/g'
的.+?Name
尋找什麼直至幷包括名稱。然後,我們將所發現的所有東西都替換爲只有Name
,這意味着我們有效地擺脫了以前的部分。
注意的選項傳遞給sed
:
-r use extended regular expressions in the script
示例數據:
$ cat m
runHalfMarathon ==>> 44 :: runFullMarathon ==>> 21 :: Name ==>> Suresh :: Age ==>> 21 ::
runHalfMarathon ==>> 44 :: runFullMarathon ==>> 21 :: Name ==>> foo :: Age ==>> 20 ::
runHalfMarathon ==>> 44 :: runFullMarathon ==>> 21 :: Name ==>> bar :: Age ==>> 1 ::
runHalfMarathon ==>> 44 :: runFullMarathon ==>> 21 :: Name ==>> baz :: Age ==>> 0 ::
輸出示例:
$ cat m | sed -r 's/.+?Name/Name/g'
Name ==>> Suresh :: Age ==>> 21 ::
Name ==>> foo :: Age ==>> 20 ::
Name ==>> bar :: Age ==>> 1 ::
Name ==>> baz :: Age ==>> 0 ::
它不會起作用,因爲'N *'匹配0或更多'n'符號。你一定是說'[^ =] *'。 –