我有一个带有 3 列的制表符分隔的文本文件。
在某些列中,我想删除单个或多个空格。但我想保持每列之间的制表符分隔以及换行符。
我试过
perl -lape 's/\s+//sg
但这会删除所有空格,还有制表符
我的文件看起来像这样
col1 col2 col3
1 test test
2 test test
3 test test
而且我要
col1 col2 col3
1 test test
2 test test
3 test test
所以我只想保留不同列之间的制表符,而不是单个空格。我希望这很清楚。
最佳答案
只需删除空格,而不是 \s
这也匹配标签:
sed 's/ \+//g' file
如果您想删除这些空格,只要它们出现在制表符之后,请说:
sed 's/\t */\t/g' file
来自 perldoc perlretut :
\s matches a whitespace character, the set [\ \t\r\n\f] and others
关于perl - 删除空格,但保留制表符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631770/