1

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

Hello          World

被替换为

Hello George  

我试过:

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

但它不起作用。

我怎样才能解决这个问题?

4

3 回答 3

4
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
于 2012-10-22T10:00:50.230 回答
1

也许您可以使用 perl:

perl -pe 's/Hello\s*World/Hello Goerge/g'
于 2012-10-22T10:06:21.597 回答
0

您可以使用

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

空格的代码是\s,与单词字符的代码相同\w

于 2012-10-22T09:59:14.890 回答