我想從給定文本文件中刪除所有空白。有沒有可用的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