2013-03-07 222 views

回答

0

采取任何数字考虑:

sed -e 's;\(\[\)\([0-9]\)F;_F\1\2;' 

用法可能是:

echo 'today_is_sunny[0F]' | sed -e 's;\(\[\)\([0-9]\)F;_F\1\2;' 
+0

非常感谢!正是我在找什么。 – Arash 2013-03-07 22:52:02

0

我想这应该做的伎俩

sed 's|today_is_sunny\[\([0-9]\)F\]|today_is_sunny_F\[\1\]|' 
0

你可以尝试以下方法:

echo "today_is_sunny[0F]" | sed 's/\[\([0-9]\)F\]/_F\[\1\]/g' 
0

该短行应该解决您的问题:

sed 's/\[/_F&/;s/.]/]/' file 

例如

kent$ echo "today_is_sunny[0F]"|sed 's/\[/_F&/;s/.]/]/' 
today_is_sunny_F[0] 
0

一个例子使用命名的字符类:

sed -r 's/\[([[:digit:]])([[:alpha:]])\]/\2[\1]/' 
相关问题