从行中删除空格和制表符而不弄乱行结尾

从行中删除空格和制表符而不弄乱行结尾

我正在尝试删除文件上的所有空格而不弄乱行结尾。这将从 bash 脚本内部运行。

我已经尝试了这里的所有解决方案:https://stackoverflow.com/questions/9953448/how-to-remove-all-white-spaces-from-a-given-text-file

它们在命令行中工作,但是当我从 bash 脚本中尝试它们时,最终的文件是一团糟,完全被破坏了。

文件使用 UNIX 文件结尾。

有什么线索吗?

答案1

您应该能够使用tr,但不能按照链接指向的页面上指定的方式使用,因为这包括删除换行符和回车符。你应该做的是:

tr -d " \t" < infile.txt > outfile.txt

答案2

您可以传递[[:blank:]]字符类来tr删除空格和制表符但保留换行符

<file tr -d '[[:blank:]]'

相关内容