从文本文件中删除%符号
我试图删除一些以%符号开头的内容。输入将是这样的。从文本文件中删除%符号
%abc
%bbc
我已经writtent脚本象下面这样:
my $lineno=1;
while ($chapline =~ m/\%(.*?)$/msg)
{
$chapline =~ s/\%(.*?)$/&del;/g;
}
$chapline =~ s/&del;//g;
但提取第一符号%
PL整个文件。在这方面的帮助
我用我从下面得到的答案。但我得到更多的空间,我无法删除那些空间
use strict;
my $text = <<YOURTEXT;
%abc
%bbc
ccc
YOURTEXT
$text =~ s/\%(?:.*?\n)//xmg; # \r\n or \n depends on OS
print $text;
输出
ccc
我也以这种方式尝试过,仍然没有得到 – 2012-08-06 13:01:27
再次尝试我修复它:) – 2012-08-06 13:03:41
感谢您的帮助 – 2012-08-06 13:22:43
如果你想删除以百分号开头的行,根本就
perl -ne 'print unless /^%/' input > output
你可以使用一个正则表达式,但是如果你所要做的只是不打印任何东西,那么它确实没有意义。
我不知道为什么你插入和删除&del;字符串,但它是完全多余的。
您可以使用就地编辑切换到编辑的文件,这将是
perl -i -ne ' ... ' input
或者与备份
perl -i.bak -ne ' ... ' input
大部分的时间,我更喜欢shell重定向,因为它是更安全。
你想删除整行或只是百分号吗?怎么了插入和删除&del;字符串? – TLP 2012-08-06 13:09:03