【发布时间】:2011-01-18 17:49:06
【问题描述】:
基本上,我有大约 1,500 个文件,这些文件的最后一个字符不应该是任何类型的空格。
如何检查一堆文件以确保它们不会以某种形式的空格结尾?(换行符、空格、回车符、制表符等)?
【问题讨论】:
-
文本文件应该以换行符结尾;否则会导致 I/O 系统出现未定义的行为。 Unix 真的不在乎(尽管有些程序会)。其他系统可能不那么宽容。 'sed' 和 'awk' 会添加一个换行符,至少除非你很努力。您必须使用 Perl 或 Python 或 ... 才能在最后获得换行符。
-
@Jonathan Leffler - 好吧,问题是它们是 PHP 文件,并且从中生成了 XML 提要。如果它们在错误的地方包含空格,XML 就会到处乱扔垃圾。
-
真的吗?这听起来更像是 XML 的问题。而且我仍然认为为了理智起见,您会在最后一行的末尾添加一个换行符。不超过一个换行符 - 我没有问题。但这个问题要求一个比这更严格的条件。我完全赞成没有尾随空格或制表符(问我的团队!),没有多余的空行(我的书中很少有超过 2 个空行;我通常只删除一个空行时间,除非代码的格式确实一致地使用双空行(但从来没有!)。
-
@Jonathan:当空白在 XML 中被视为“重要”时的规则是粗略的,并且取决于包含元素是否在 DTD 中声明为具有“混合”内容:usingxml.com/Basics/XmlSpace在尝试使用 XSLT 转换 XML 时,我自己也遇到了问题。
-
这是我的 linux 知识中的一个漏洞,因此请多加注意。您不能仅以内存映射方式打开文件并从末尾向后移动并将文件缩小一个以针对最后出现的 \s \r \n 的任何组合吗?从来没有在 linux 中尝试过 mem 映射文件,所以...
标签: linux bash shell unix scripting