基本上我们需要更改一组文件的行尾字符。
有没有办法用批处理文件来完成这个?有免费软件实用程序吗?
答案 0 :(得分:8)
答案 1 :(得分:2)
可以用更短的命令来完成。
find ./ -type f | xargs -I {} dos2unix {}
答案 2 :(得分:0)
您应该可以将tr
与xargs
结合使用来执行此操作。
至少在Unix方面,这应该是最简单的方法。但是,我尝试过十年前在Windows机器上这样做了一次,但发现Windows版tr
正在将我的终结器转换回Windows格式。 :-(但是,我认为在干预十年中,这些工具变得越来越聪明。
答案 3 :(得分:0)
将find与dos2unix / fromdos结合使用以转换文件目录(不包括二进制文件)。
只需将其添加到.bashrc:
DOS2UNIX=$(which fromdos || which dos2unix) \
|| echo "*** Please install fromdos or dos2unix"
function finddos2unix {
# Usage: finddos2unix Directory
find $1 -type f -exec file {} \; | grep " text" | cut -d ':' -f1 | xargs $DOS2UNIX
}
首先,DOS2UNIX查找您是否安装了该实用程序,并选择一个使用
查找生成所有文件的列表,然后文件在每个文本文件后附加“:ASCII文本”。
最后,grep选择文本文件,Cut删除':'之后的所有文本,xargs为DOS2UNIX创建一个大命令行。