Perl 命令更改文件 EOL 并以相同名称保存文件

Perl command to change file EOL and saving the file with the same name

我在我的 debian 上使用这个 perl 命令来更改我的文件 EOL:

perl -p -e 's/\n/\r\n/' < ~/scripts/bite/EOL/*.csv > ~/scripts/bite/sent/samefilename.csv

每天“EOL”目录中都会有一个不同名称的新文件,而且目录中始终只有 1 个文件,所以我使用“*”来获取其中的任何文件。 但是我需要使用与我选择更改的文件同名的新文件来保存新文件,而无需手动在命令中输入文件名。最终这进入了我的 cronjob,所以一切都是自动的。

编辑:使用“unix2dos”解决了我的问题

我会使用 unix2dos 实用程序,但您也可以使用

perl -pe's/\n/\r\n/' -i file.csv

参见

你的程序和这个程序只适用于 unix 系统。

Linux 具有用于将 eol 从 MS Windows/DOS 格式转换为 UNIX 格式的命令 unix2dosdos2unix。也许这是描述问题的最简单的解决方案。