在Windows中编辑的文件末行会有M^。我该如何去除它们?
在Windows中编辑的文件末行会有M^。我该如何去除它们?
注意
使用此命令时要非常小心,因为它将替换所有的LF/CR字符序列,而不考虑其位置或上下文。在处理二进制文件或具有特殊配置格式的文件时要格外小心。带有git子模块的目录就是一个例子,因为字符序列已经被存储为持久提交。
这是用于回车控制的控制代码。Windows使用LF/CR表示法作为行分隔符,而UNIX系统仅使用LF。
以下命令将对相对于当前目录向下递归遍历整个文件系统树中的所有文件执行此操作。
find . -type f | xargs -Ix sed -i.bak -r 's/\r//g' x
上面的代码将自动生成备份文件(文件名后缀为.bak
)。
一旦确认文件没有问题,使用以下代码来删除备份文件。
find . -type f -name '*.bak' | xargs -Ix rm x
sed
中使用 -i
选项。 - nehcsivartfind -iname \*.* | rename -v -f "s/\.bak//g"
。没有任何损失,希望对你有帮助。 - Paolo.git
目录的几种方法。一种方法是显式列出你想要包含的目录(例如 find a/ b/ -type f ...
或者甚至是 find * -type f ...
,前提是你的 shell 不会将 *
展开成隐藏文件,而且你没有自己的隐藏文件)。我相信 find
还有一些标志可以忽略某些模式,比如 -regex
标志。 - nehcsivart