【发布时间】:2017-07-21 11:04:35
【问题描述】:
我在一个文件夹中有多个 .txt 文件我想从每个文件的每一行中删除所有空格我该怎么做?
所以像 file1.txt 包含
a a a a
2 2 2 2
并且文件 2.txt 包含
3 3 3 3
4 4 4 4
我希望结果删除空格,
file1.txt 之后
aaaa
2222
【问题讨论】:
我在一个文件夹中有多个 .txt 文件我想从每个文件的每一行中删除所有空格我该怎么做?
所以像 file1.txt 包含
a a a a
2 2 2 2
并且文件 2.txt 包含
3 3 3 3
4 4 4 4
我希望结果删除空格,
file1.txt 之后
aaaa
2222
【问题讨论】:
看看这篇文章。 How to remove all white spaces from a given text file
您需要tr 命令。你可以做类似cat file.txt | tr -d " \t\n\r"
如果您想对目录中的所有文件执行此操作,您可以使用 find 命令。类似find . | xargs tr -d " \t\n\r
编辑 - 刚刚注意到您想保留换行符。您可以在 tr 命令中省略换行符
【讨论】:
cat file.txt | tr -d " \t\n\r" -> tr -d " \t\n\r" < file.txt。考虑使用 POSIX 字符类[:blank:]。
使用 sed
$sed -e "s/ //g" file1.txt
aaaa
2222
您可以添加-i来更改文件。
【讨论】: