比较这两个命令,根据我的理解,它们应该是同一件事:
echo abc>tmp1
echo abc|more>tmp2
而且他们确实如此,大部分情况下。tmp2
在末尾有一个额外的空白行,但我并不担心这一点。
现在,这是一个稍微复杂一点的情况:
(echo abc&echo def)>tmp3
(echo abc&echo def)|more>tmp4
tmp4
,除了末尾有一个额外的空行之外,在每个非空行的末尾还有一个额外的空格。这是怎么回事?我可以展示它吗?我目前使用sed -e 's-[ ]$--g'
,但我不想依赖 GNUwin。