删除隐藏的$字符MAC OS X文本文件

时间:2016-03-10 15:59:27

标签: macos sed hidden vi

我需要从文本文件中删除重复的换行符。我可以根据需要使用sed来修改文件,但是在匹配换行符时我遇到了问题。当我使用带有':set list'的vi查看文件时,我看到如下内容:

No Active Message Discriminator.$
$
$
$
$
No Inactive Message Discriminator.$
$

'$'代表换行符。没有':set list'查看的同一文件看起来像这样。

No Active Message Discriminator.




No Inactive Message Discriminator.

任何有关删除重复换行符的帮助都表示赞赏。我在MAC OS X工作。我已经搜索过(也许我错过了一些东西),但似乎没有直接解决'$'字符的答案。

1 个答案:

答案 0 :(得分:2)

您可以使用tr尝试“挤压”换行符:

printf "a\n\n\nb\n"
a


b

然后挤压:

printf "a\n\n\nb\n" | tr -s '\n'
a
b

或者如果你有一个文件:

tr -s '\n' < file