我们有一个名为 abc.txt 的文件,它是一个空文件。由于一些垃圾或控制 M 字符,文件大小被填充为 5 字节文件。为了获得干净的文件,我们使用 dos2unix 命令来删除未知字符。使用 dso2unix 命令后,我们可以看到文件大小为 1 个字节,因为它只包含一个换行符。如果换行符是整个文件中唯一的字符,我可以知道如何删除它吗?
解决方法:
cat abc.txt
cat -v abc.txt
M-oM-;M-?^M
ll abc.txt
-rw-r--r-- 1 ORAPRD ADMIN 5 Jan 25 07:08 abc.txt
dos2unix abc.txt
dos2unix: converting file abc.txt to Unix format ...
ll abc.txt
-rw-r--r-- 1 shpprd ADMIN 1 Jan 25 07:09 abc.txt
cat -v abc.txt
od -c abc.txt
0000000 \n
0000001
有人对此有解决方案吗?
谢谢。
答案1
您dos2unix abc.txt
已成功将 DOS 文本文件转换为 Unix 文本文件。
该文件仍包含换行符。这在文本文件中是完全有效的。它只是一行空文本。
如果你想完全截断文件,那么
>abc.txt
在 shell 中就可以做到这一点。
要删除文件末尾的空行,请参阅“如何删除 EOF 处的多个换行符?”。