将sed与正则表达式一起用于空间

时间:2012-10-22 09:56:38

标签: regex linux bash sed

我正在尝试使用sed来替换考虑到空格的字符串 示例:

Hello          World

替换为

Hello George  

我试过了:

sed -e 's/Hello[:space]+World/Hello George/' ./infile > outFile

但它不起作用。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

sed -e 's/Hello[[:space:]]\+World/Hello George/' ./infile > outFile

sed -e 's/Hello \+World/Hello George/' ./infile > outFile

注意:在OSX中,您需要

sed -E 's/Hello +World/Hello George/' ./infile > outFile

答案 1 :(得分:1)

可能你可以使用perl:

perl -pe 's/Hello\s*World/Hello Goerge/g'

答案 2 :(得分:0)

您可以使用

sed -e 's/Hello\s\+World/Hello George/' ./infile > outFile

空格代码为\s,与\w相同,适用于字符。