我有一个用逗号分隔的字符串文件。我正试着用新的一行替换逗号。我试过了:
sed 's/,/\n/g' file
但这并不奏效。我错过了什么?
我有一个用逗号分隔的字符串文件。我正试着用新的一行替换逗号。我试过了:
sed 's/,/\n/g' file
但这并不奏效。我错过了什么?
当前回答
请改用tr:
tr , '\n' < file
其他回答
MacOS是不同的,有两种方法来解决这个问题与mac的sed
首先,使用\'$'\n "替换\n,它可以在MacOS中工作: Sed 's/,/\'$'\n " /g'文件 第二,使用空行: sed的s /, / \ / g的文件 Ps.注意用'分隔的范围 第三,使用gnu-sed代替mac-sed
请改用tr:
tr , '\n' < file
sed 's/,/\
/g'
适用于Mac OS X。
这适用于MacOS Mountain Lion (10.8), Solaris 10 (SunOS 5.10)和RHE Linux (Red Hat Enterprise Linux Server release 5.3, Tikanga)……
$ sed 's/{pattern}/\^J/g' foo.txt > foo2.txt
... 这里的^J是通过ctrl+v+ J完成的。注意^J前面的\。
另外,我知道RHEL的sed是GNU的,MacOS的sed是基于FreeBSD的,虽然我不确定Solaris的sed,但我相信这对任何sed都适用。YMMV tho”……
为了使它完整,也可以这样做:
echo "a,b" | sed "s/,/\\$(echo -e '\n\r')/"