Answers:
“删除所有空格”可能意味着不同的事情之一:
0x20
。\t
”\n
”和其他如果sed
出于某种隐藏原因而不是必需的,则最好使用正确的工具来完成工作。
该命令tr
主要用于将字符列表转换为其他字符列表(因此称为“ tr”)。作为特殊情况,它可以转换为空字符列表;选项-d
(--delete
)将删除列表中出现的字符。
字符列表可以在[:...:]
语法中使用字符类。
tr -d ' ' < input.txt > no-spaces.txt
tr -d '[:blank:]' < input.txt > no-spaces.txt
tr -d '[:space:]' < input.txt > no-spaces.txt
sed
使用sed时,[:...:]
需要将字符类的语法与regexps中的字符集的语法结合使用[...]
,从而导致有些混乱[[:...:]]
:
sed 's/ //g' input.txt > no-spaces.txt
sed 's/[[:blank:]]//g' input.txt > no-spaces.txt
sed 's/[[:space:]]//g' input.txt > no-spaces.txt
tr -d ' ' < input.txt > no-spaces.txt
。
tr
。(您在其他地方看到了吗?)
您可以使用它来删除中的所有空格file
:
sed -i "s/ //g" file
man sed | sed "s/ //g"
/
不同的字符替换所有3 个字符,例如:sed "ss ssg"