我有一个文件(list6.txt),它看起来像:
xxxxxxx xxxxxxxxx;
xxxxxx xxxxx PxxxxxxxxFxxxxxx xxxxxxx PxxxxxxxxFxxxxxx {
@Oxxxxxxx
xxxxxx Sxxxxx xxxNxxx() {
xxxxxx "Pxxxx_Pxxxxxxxx";
}
@Oxxxxxxx
xxxxxx Pxxxxxxxx xxxxxxPxxxxxxxx(Cxxxxxx xxx) {
xxxxxx xxx Pxxxxxxxx(xxx);
}
}
我尝试使用以下命令删除所有前导空格:
cat list6.txt | sed 's/^[ \t]//'
OR
sed 's/^[ \t]*//' list6.txt
然而,我不能做到这一点与以上2个命令。
谁能帮我一下。
谢谢
4条答案
按热度按时间w8biq8rn1#
使用此更便携的sed:
这也适用于gnu-sed和BSD sed。
qeeaahzv2#
试试看:
它将匹配匹配组1中前导空格后面的所有内容。在替换模式中,仅重新包括此匹配,而不包括前导空格。
umuewwlo3#
你的sed命令是可以的,(第一个缺少一个
*
),我猜你可能希望在你的文件中进行更改,所以称为“就地”更改。您需要
-i
选项来执行此操作(gnu sed)。它看起来像:有关详细信息,请查看手册页。对于您命令,请尝试:
注意,
[ \t]
可以被写为\s
,qf9go6mv4#
FreeBSD
sed
,在Mac OS X上使用,需要在-i
选项后使用-e
开关来定义和识别下面的正则表达式。