从一组linux文档中删除空白

从一组linux文档中删除空白,linux,bash,Linux,Bash,我想删除给定文本文件中的所有空格(大约200000个) 我知道如何删除其中一个的空白: cat file.txt | tr -d " \t\n\r" 如何对所有文件夹执行此操作?只需对循环使用 i、 e 只需对循环使用 i、 e 一种方法是迭代当前目录中的文件: for file in *; do cat $file | tr -d " \t\n\r" done 或者,也许更好: for file in *; do sed -i 's/ //g' $file done 一

我想删除给定文本文件中的所有空格(大约200000个)

我知道如何删除其中一个的空白:

cat file.txt | tr -d " \t\n\r" 

如何对所有文件夹执行此操作?

只需对循环使用

i、 e


只需对
循环使用

i、 e


一种方法是迭代当前目录中的文件:

for file in *; do
   cat $file | tr -d " \t\n\r" 
done
或者,也许更好:

for file in *; do
   sed -i 's/ //g' $file
done 

一种方法是迭代当前目录中的文件:

for file in *; do
   cat $file | tr -d " \t\n\r" 
done
或者,也许更好:

for file in *; do
   sed -i 's/ //g' $file
done 

我将使用
find
进行以下操作:

find . -type f -exec sed -i ':a;N;s/[[:space:]]*//g;ba' {}  \;

这假设文件的大小合理
:-/

我将使用
查找
实现以下目的:

find . -type f -exec sed -i ':a;N;s/[[:space:]]*//g;ba' {}  \;

这假设文件大小合理:-/

tr
/
sed
命令或为
sed
@Maroun:Globbing(
*
)添加
-i.bak
命令后,您需要重定向输出。@Cyrus能否解释一下原因?或者,您还有什么建议(我将编辑我的答案)。@Maroun:命令行的长度限制为使用
getconf ARG_MAX
显示的值(以字节为单位)。如果立即删除备份文件,让
sed
创建备份文件有什么意义?另外,请修复在
tr
/
sed
命令或为
sed
@Maroun:Globbing(
*
)添加
-i.bak
后需要重定向输出时报告的错误。@Cyrus您能解释一下原因吗?或者,您还有什么建议(我将编辑我的答案)。@Maroun:命令行的长度限制为使用
getconf ARG_MAX
显示的值(以字节为单位)。如果立即删除备份文件,让
sed
创建备份文件有什么意义?另外,请通过更好地避免
cat
来修复报告的错误。看。@Maroun-我同意。我本来打算更新我的答案,但你抢先告诉我,这个行话文件的链接有很严重的格式错误。为此,或许可以链接到更好地避免
cat
。看。@Maroun-我同意。我本来打算更新我的答案,但你抢先告诉我,这个行话文件的链接有很严重的格式错误。或许可以链接到