如何使用Cygwin中的SED替换.txt文件中的所有空格

时间:2013-10-29 01:42:50

标签: bash sed cygwin

我有一个巨大的.txt文件,我希望删除所有空格,换行符,缩进等。它应该是一个长字符串。

我试过

  

sed -i's / \ // g'test.txt

但没有任何反应

4 个答案:

答案 0 :(得分:1)

sed -n "s/[[:blank:]]//g;H
$ {x;s/\n//g;p;}"

如果您想要包含新行,则需要H而不是$,因为sed默认逐行处理(因此行内没有新行)。使用-n和p是为了避免使用H

进行双重显示

答案 1 :(得分:0)

似乎对我有用:

[~/Desktop]
==> cat test.txt
the quick brown fox

[~/Desktop]
==> sed -i "s/\ //g" test.txt

[~/Desktop]
==> cat test.txt
thequickbrownfox

答案 2 :(得分:0)

有时直接使用“”很难,特别是当你使用双引号时(涉及bash会在将字符串传递给sed之前解释它)。

sed -i -e 's/\s//g' file.txt

......应该有效(对我有用)。 “\ s”表示所有空格字符,并带有单引号'',表示bash在将其传递给sed之前不会解释它。

答案 3 :(得分:0)

当你使用cygwin时我认为你的操作系统是windows,那么你不需要使用bash来实现你的目标。只需用文本编辑器打开你的txt文件,然后用空格替换while空格,那么你txt文件中的所有whit空格都将被删除。

这种方法几乎可以满足各种清除工作。并且还可以申请excel或word等。

祝你好运!