如果在使用git时遇到git将unix换行符转换为windows换行符的问题,则必须使用dos2unix命令将文件转换为unix格式。
DOS2unix命令用于将dos格式的文本文件转换为UNIX格式(dos/mactounixtextfileformatconverter )。 DOS下的文本文件将rn作为换行标志,如果用十六进制表示,则为0D 0A。 Unix下的文本文件带有n换行符,用十六进制表示为0A。 DOS格式的文本文件位于Linux下,在较低版本的vi中打开时,行尾会显示^M。 此外,对于shell脚本,许多命令无法成功处理这种格式的文件。 Unix格式的文本文件在Windows上用Notepad打开时会一起显示。 因此,需要将两种格式的文件相互转换,这些文件对应于将UNIX格式的文本文件转换为DOS格式的unix2dos命令。
语法: dos2unix [-hkqv ] [-cconvmode ] [-ofile . ] [-ninfileoutfile . ]选项1. -k :不更改输出文件的日期2. -q :静音
实例:
最简单的使用方法是dos2unix直接赶上文件名:
dos2unix文件如果要一次转换多个文件,请直接将这些文件命名为dos2unix之后。 (注:带有或不带有-o参数都有相同的效果)
os2 UNIX文件1file2file3dos2unix-ofile 1file2file 3上方将在转换时直接修改为原始文件。 如果希望将转换结果保存到其他文件,但不更改源文件,则可以使用-n参数。
如果不希望更改dos2unix old文件新文件的时间戳,请添加-k参数。 因此,这些命令可以添加-k参数以保留文件的时间戳。
dos2unix-kfile dos2unix-kfile 1file2file3dos2unix-k-noldfilenewfile或更高版本转换单个文件。 要转换目录或文件夹,请将其下移
Linux本身提供两个命令: dos2unix和unix2dos,实现windows和Linux文件的转换。
但是。 dos2unix和unix2dos本身不提供递归(批量修改)方法,因此必须使用xargs命令
xargs命令的作用是将参数列表转换为小块并传递给其他命令。 使用xargs可以轻松实现批量替换。
在此示例中,假设要替换的文件所在的目录位于公共/组件目录下。
要批量替换公共/组件目录中的所有文件,请使用以下命令:
在find public/components/- name ' * '|xargs dos2unix中,“*”符号表示所有文件。 要将文件格式的后缀更改为. py,可以使用以下命令轻松实现批量替换格式:
批量替换为linux文件格式:
将sudofindpublic/components/- name ' *.py '|xargs dos2unix批量替换为dos文件格式:
sudofindpublic/components/- name ' *.py '|xargs unix2dos的优点:批量替换、工作量小,总的来说,方法2是通过管道代码和xargs实现的批量指令,修改方法2
例如:
在整个linux系统中批量删除后缀为. tmp的文件; 命令可以写为:
sudo find/home/test-name ' *.tmp '|xargs RM-f删除整个linux系统的apache相关文件:
sudo find/home/test-name ' * Apache '|xargs RM-RF原文链接: https://blog.csdn.net/leedan ing/article/details/5302444