我想从给定文本文件中删除所有空白。有没有可用的shell命令?或者,如何使用sed
来达到此目的。如何从给定文本文件中删除所有空白
我想要的东西,象下面这样:
$猫hello.txt的| sed ....
我试过这个:cat hello.txt | sed 's/ //g'
。但它只删除空格,而不是标签。
我想从给定文本文件中删除所有空白。有没有可用的shell命令?或者,如何使用sed
来达到此目的。如何从给定文本文件中删除所有空白
我想要的东西,象下面这样:
$猫hello.txt的| sed ....
我试过这个:cat hello.txt | sed 's/ //g'
。但它只删除空格,而不是标签。
$ man tr
NAME
tr - translate or delete characters
SYNOPSIS
tr [OPTION]... SET1 [SET2]
DESCRIPTION
Translate, squeeze, and/or delete characters from standard
input, writing to standard output.
为了消灭所有空格包括换行符,你可以尝试:
cat file.txt | tr -d " \t\n\r"
您还可以使用TR定义的字符表(学分htompkins评论):
cat file.txt | tr -d "[:space:]"
例如,为了仅擦去横向空白区域:
cat file.txt | tr -d "[:blank:]"
你也可以使用'tr'定义的字符类。示例: 删除_all_空格: 'cat file.txt | tr -d“[:space:]”' 删除所有水平空白: 'cat file.txt | tr -d“[:blank:]”' – htompkins 2014-07-24 22:54:41
嗯......看起来像sed -e "s/[ \t\n\r\v]//g" < hello.txt
的顺序应该是在右边的球场(似乎在任何情况下在cygwin下工作)。
我认为你可能使用sed擦除空间,同时不会丢失一些信息,如将 更改为另一行。
cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'
使用'[[:blank:]]的+1而使用cat的使用 – 2013-06-19 23:53:54
'cat'有什么问题? – NReilingh 2014-09-30 11:44:56
@NReilingh - https://www.google.com/search?q=useless+uses+of+cat – jayhendren 2014-10-03 18:28:45
简单多了我的意见:
sed -r 's/\s+//g' filename
我刚刚尝试过这一点,它将修改后的文本输出到STDOUT,但不会更改文件本身。 – 2013-12-09 11:23:23
@MaxWilliams - 只需使用-i(破折号i)与sed的标记 – JeffCharter 2014-09-13 21:19:19
这不会删除换行符,不确定OP是否需要这样。 – 2016-08-10 06:49:39
如果你想删除ALL空白,甚至换行:
perl -pe 's/\s+//g' file
这可能是做这件事的最简单的方法:
sed -r 's/\s+//g' filename > output
mv ouput filename
试试这个:
tr -d " \t" <filename
(1)有关详细信息,请参阅TR的手册页。我
最简单的方法 - >
echo "Hello my name is Donald" | sed s/\ //g
伙计,在终端的Python test.py。
f = open('/home/hduser/Desktop/data.csv' , 'r')
x = f.read().split()
f.close()
y = ' '.join(x)
f = open('/home/hduser/Desktop/data.csv','w')
f.write(y)
f.close()
这个答案是类似于其他然而,由于一些人一直在抱怨,输出到stdout我只是要表明,它重定向到原始文件和覆盖它。我通常从来不会建议这样做,但有时候又快又脏。
cat file.txt | tr -d " \t\n\r" > file.txt
通过“all whitespace”,你的意思是换行吗? – 2013-06-19 23:54:43