是否有一个程序可以使用命令行一次性删除大量文件中的尾随空格并将制表符转换为空格?

是否有一个程序可以使用命令行一次性删除大量文件中的尾随空格并将制表符转换为空格?

我正在使用 cygwin,并且有很多文件,我想将其中的制表符转换为空格并删除行尾的所有空格字符。Linux 中是否有可以执行此操作的实用程序?

答案1

制表符转空格:expand

删除行尾的空格:我可能会使用sed 's/ *$//',但也许有一个专门用于该任务的工具。

两者均可在 Cygwin 或任何版本的 UNIX 和 Linux 中使用。

答案2

使用 TAB 的小文件,用于od查看内容

$ od -c file.txt
0000000  \t   o   n   e  \t  \t   t   w   o  \n

使用 sed 将 TAB 替换\t为 4 个空格

$ sed -i -e "s/\t/    /g" file.txt

文件现在更长,所有 TAB 都已替换

$ od -c file.txt
0000000                   o   n   e                                   t
0000020   w   o  \n
0000023
0000012

你可以将相同的内容应用于多个文件。
进一步了解 Sed https://www.grymoire.com/Unix/Sed.html

相关内容