Regex SED:如何删除数字前的特殊字符?
我有以下字符串:Regex SED:如何删除数字前的特殊字符?,regex,bash,shell,sed,Regex,Bash,Shell,Sed,我有以下字符串: E E E 11 5 E 3 4 我需要能够去除数字前的所有“E”字符。因此,输出将如下所示: 11 5 E 3 4 第一个“E”的数目可以不同,因此可以是“E”或“E”等。 我怎样才能用SED完成它?如果可能,使用替代的shell util sed 's/^[E ]*\([0-9]\)/\1/' 这将用第一个数字替换行中第一个数字之前的所有E和空格,以及第一个数字 需要注意的是,这不适用于仅由E和空格组成的线;我从措辞中假设,只有当行上有数字时,才能进行删除。要仅支持E
E E E 11 5 E 3 4
我需要能够去除数字前的所有“E”字符。因此,输出将如下所示:
11 5 E 3 4
第一个“E”的数目可以不同,因此可以是“E”或“E”等。
我怎样才能用SED完成它?如果可能,使用替代的shell util
sed 's/^[E ]*\([0-9]\)/\1/'
这将用第一个数字替换行中第一个数字之前的所有E和空格,以及第一个数字
需要注意的是,这不适用于仅由E和空格组成的线;我从措辞中假设,只有当行上有数字时,才能进行删除。要仅支持E的情况,只需对程序使用s/^[E]*/
。找到另一个变体:
sed 's/^[E ]\+//g'