我想删除给定文本文件中的所有空格。
有没有可用的shell命令?
或者,如何使用 sed
来达到这个目的?
我想要类似下面的东西:
$ cat 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:]"
https://stackoverflow.com/questions/9953448/