【发布时间】:2011-05-05 19:21:52
【问题描述】:
如何在 Linux 中删除给定文件中的所有空格?
【问题讨论】:
-
在文件本身还是在文件名中?
如何在 Linux 中删除给定文件中的所有空格?
【问题讨论】:
如果您有 UTF-8 数据,最好这样做:
perl -CS -pe 's/\p{Space}//g' < input > output
【讨论】:
根据您对空白的定义,类似:
tr -d ' \t\n\r\f' <inputFile >outputFile
会成功的。
【讨论】:
[:space:] 类,用于“所有水平或垂直空白”(我假设“或”应该是“和”)。所以tr -d '[:space:]' 也应该能做到这一点。
\v(垂直标签,也包含在[:space:]中)。
tr 在 UTF-8 数据上正常工作,甚至在 ISO-8859-1 上也不能正常工作,而只是在 ASCII 上工作。
sed 's/\s//g' input.txt | tr -d '\n'
【讨论】:
's/\s//g' 中的\s 表示空格?谢谢。
sed 's/\s//g'|tr -d '\n'
【讨论】: