Regex sed在osx中用换行符替换空格

Regex sed在osx中用换行符替换空格,regex,bash,sed,osx-yosemite,Regex,Bash,Sed,Osx Yosemite,我想在文件中用换行符替换空格。我从其他问题的答案中尝试了很多其他方法,但都不起作用: sed -e 's/\s\+/\n/g' file sed -e 's/[[:blank:]]\+/\n/g' file 这两种方法都会按原样返回文件。我尝试了以下方法: sed -e 's/[[:blank:]]/\n/g' file 将空格替换为ns 我假设差异是由于gnu和OS X中的sed之间的差异造成的。在OS X中如何实现这一点?sed在OS X上无法识别\n在替换中,您需要使用文字换行符,并

我想在文件中用换行符替换空格。我从其他问题的答案中尝试了很多其他方法,但都不起作用:

sed -e 's/\s\+/\n/g' file 
sed -e 's/[[:blank:]]\+/\n/g' file
这两种方法都会按原样返回文件。我尝试了以下方法:

sed -e 's/[[:blank:]]/\n/g' file
将空格替换为
n
s


我假设差异是由于gnu和OS X中的sed之间的差异造成的。在OS X中如何实现这一点?

sed
在OS X上无法识别
\n
在替换中,您需要使用文字换行符,并且必须对其进行转义以防止其结束命令。它也不理解
\s
+
,因此使用
[[:blank:]\{1,}
匹配一个或多个空格

sed -e 's/[[:blank:]]+/\
/g' file

OS X上的sed无法识别
\n
在替换中,您需要使用文字换行符,并且必须对其进行转义以防止其结束命令。它也不理解
\s
+
,因此使用
[[:blank:]\{1,}
匹配一个或多个空格

sed -e 's/[[:blank:]]+/\
/g' file

OS X上的sed无法识别
\n
在替换中,您需要使用文字换行符,并且必须对其进行转义以防止其结束命令。它也不理解
\s
+
,因此使用
[[:blank:]\{1,}
匹配一个或多个空格

sed -e 's/[[:blank:]]+/\
/g' file

OS X上的sed无法识别
\n
在替换中,您需要使用文字换行符,并且必须对其进行转义以防止其结束命令。它也不理解
\s
+
,因此使用
[[:blank:]\{1,}
匹配一个或多个空格

sed -e 's/[[:blank:]]+/\
/g' file

诀窍是插入新行(实际上是新行)


诀窍是插入新行(实际上是新行)


诀窍是插入新行(实际上是新行)


诀窍是插入新行(实际上是新行)


tr
命令更容易/更适合IMO:

tr ' ' '\n' < $FILE_PATH

tr
命令更容易/更适合IMO:

tr ' ' '\n' < $FILE_PATH

tr
命令更容易/更适合IMO:

tr ' ' '\n' < $FILE_PATH

tr
命令更容易/更适合IMO:

tr ' ' '\n' < $FILE_PATH

您可以使用一些扩展的正则表达式语法,如BSD sedI的
+
选项,但我在OSX上尝试过,它不起作用。我在雪豹,不是约塞米蒂,但我敢打赌他们没有改变
sed
。你可以使用一些扩展的正则表达式语法,如
+
,使用BSD sed的
-E
选项。我在OS X上试过了,但没有成功。我在雪豹,不是约塞米蒂,但我敢打赌他们没有改变
sed
。你可以使用一些扩展的正则表达式语法,如
+
,使用BSD sed的
-E
选项。我在OS X上试过了,但没有成功。我在雪豹,不是约塞米蒂,但我敢打赌他们没有改变
sed
。你可以使用一些扩展的正则表达式语法,如
+
,使用BSD sed的
-E
选项。我在OS X上试过了,但没有成功。我在雪豹号上,不是约塞米蒂号,但是我敢打赌他们没有改变。我想他想把所有的连续空格压缩成一个换行符。我想他想把所有的连续空格压缩成一个换行符。我想他想把所有的连续空格压缩成一个换行符。我想他想把所有的连续空格压缩成一个换行符单换行。