【发布时间】:2018-01-21 06:18:56
【问题描述】:
这些词之间有制表符(五个):
cat dog
我想要这个输出:
猫 狗
我试过这个:sed 's/\t/\n/g; /^$/d' pets
并且输出与sed 's/\t/\n/g' pets 相同:
猫 狗
我必须执行 sed 两次才能得到我想要的。在sed '/^$/d' temp之后像这样sed 's/\t/\n/g' pets>temp
有没有办法通过一个命令获得所需的输出?
【问题讨论】:
-
sed 's/[\t][\t]*/\n/g'?您可以消除 character class 表示法(例如[和],但它们清楚地表明您正在处理字符。这取决于您。sed 's/\t\t*/\n/g'是等效的。 -
xargs -n1可能也适合,所有非空格字符序列将显示在单独的行中