如何将文件夹中的所有文件转换为不同的行尾?(在 Windows 上)

Sat*_*ish 21 windows windows-7

如何将文件夹中的所有文件转换为不同的行尾(linux 或 mac)?我正在使用 Windows。

现在我的方法是使用 Winscp 复制到一个 linux 框,然后在该文件夹上递归运行 dos2unix。

Sat*_*ish 25

在 Cygwin 中安装 Cygwin 和 Dos2unix

find . -type f -exec dos2unix {} \;
Run Code Online (Sandbox Code Playgroud) 命令突破:
  • . - 当前目录
  • -type f - 只有文件
  • -exec - 紧随其后执行命令
  • dos2unix - 将 windows 行尾转换为 unix 行尾的命令。
  • {} - 代表每个返回的结果 find . -type f
  • \; - 终止命令。

另外,如果您只想执行特定的文件模式,可以执行以下操作:

find . -name "*.java" -type f -exec dos2unix {} \;
Run Code Online (Sandbox Code Playgroud)
  • -name "*.java"- 仅以.java.

  • 你可能需要 `-maxdepth 1` 这样它就不会遍历子目录 (2认同)

小智 6

您可以在 Windows 上安装git bash而不是 cygwin32(或类似的)。它配备了几个类unix命令(例如,finddos2unix等)在bash仿真模式。安装后,将文件从 Windows 转换为 Unix 文件结尾应该很容易。

假设您在名为src的文件夹树中有您的文件(以后缀.java结尾),并且您想将它们的结尾从 Windows 转换为 Unix 结尾。

  1. 在 Windows 资源管理器中找到src
  2. 右键单击并从 Windows 上下文菜单中打开该文件夹上的 Git Bash。
  3. 运行:find . -name "*.java" -exec dos2unix {} \;

就是这样!