我正在尝试使用UNIX替换替换空格。 我尝试在UNIX中使用tr命令,但无法修改它以替换备用空格。
示例输入:
0 1 2 3 4 5
样本输出:
0 1
2 3
4 5
我们如何实现这一目标?
答案 0 :(得分:1)
awk
可能会有所帮助:
echo "0 1 2 3 4 5" | awk '
{
for (i=1; i<=NF; i++)
{
if ((i-1)%2 == 0)
{
printf "%d ",$i;
}
else
{
print $i
}
}
}
'
我们按空间分割并有6个项目。然后,我们循环遍历所有字段并输出每个字段。每个其他字段都以print $i
的新行输出;否则我们使用printf "%d ",$i;
打印而不创建新行。
答案 1 :(得分:0)
echo "0 1 2 3 4 5" | sed 's/\([^ ][^ ]* [^ ][^ ]*\) */\1\n/g'
使用'+'
符号的GNU sed可以缩短这一点。