下面是我输入如何在Unix中添加分隔符后的换行符?
54.243.94.244, 54.243.113.63
,我要像下面的出来,
54.243.94.244
54.243.113.63
即逗号后,我需要添加新行。 如何在Unix中实现它?请建议一些命令。
下面是我输入如何在Unix中添加分隔符后的换行符?
54.243.94.244, 54.243.113.63
,我要像下面的出来,
54.243.94.244
54.243.113.63
即逗号后,我需要添加新行。 如何在Unix中实现它?请建议一些命令。
另一种选择是tr
tr ',' '\n'
tr“,”“\ n”IP_withoutTrim.txt> IP_Trim.txt 它不适用于我的错误! tr:0653-712选项和字符串参数的组合不合法。 用法:tr [ - [c | C] | - [c | C] ds | - [c | C] s | -ds | -s] [-A] String1 String2 tr { - [c | C] d | - [c | C] s | -d | -s} [-A] String1 – 2013-04-10 04:20:59
明白了..谢谢:) cat IP_withoutTrim.txt | tr',''\ n'> IP_Trim.txt 这工作 – 2013-04-10 04:24:55
@ GanzRicanz好交易。只是提示,你可以避开'cat'并重新使用重定向。 'tr',''\ n'
sed
将这样的伎俩:
$ echo '54.243.94.244, 54.243.113.63' | sed 's/, /\n/g'
54.243.94.244
54.243.113.63
sed命令s/, /\n/g
将取代逗号紧跟在换行符输入一个空格的所有匹配。
嗨,这是行不通的,我得到如下输出, 54.243.94.244n54.243.113.63 – 2013-04-10 04:06:51
@GanzRicanz:你在哪个Unix平台上工作?有些版本的'sed'与'\ n'有问题。另外,你是否使用单引号? – 2013-04-10 04:12:10
谢谢Scott,我的平台不支持sed。我试过它的工作。谢谢你:) – 2013-04-10 04:26:03
一个简单的例子是
VAR1=a
VAR1="$VAR1"$'\n'b
echo "$VAR"
这将使输出像
a
b
在'bash'中可以使用,而不是所有的shell。它也没有解决你具有'VAR =“54.243.94.244,54.243.113.63”'的情况,并且你想要插入换行符代替逗号和空格。 – 2013-04-10 04:13:55
你想逗号后换行,或者你希望它取代逗号?您的数据似乎用换行符替换逗号(和空白)。 – 2013-04-10 04:11:21