小编yae*_*ael的帖子

sed +需要删除以###开头的文件中的每一行

如何删除以三个开头的行#

例如,需要删除以下所有行:from file

1 ### bla bla bal

2 ### blablabla

3 ### blabla

...

THX Yael

sed

3
推荐指数
1
解决办法
1463
查看次数

使用Perl从DOM生成格式化XML

我编写了以下Perl脚本(如下所示)以创建简单的XML文件.生成的输出有效,但我对生成的XML源代码有特定的格式要求.

如何更改我的脚本以添加我想要的空白?

#!/usr/bin/perl

use warnings;
use XML::LibXML;


my $doc  = XML::LibXML::Document->new; 
my $root = $doc->createElement('LEVEL1');
$doc->setDocumentElement($root);

my $system = $doc->createElement('LEVEL2');
$root->appendChild($system);

my $install = $doc->createElement('LEVEL3');
$system->appendChild($install);

print $doc->toString;
Run Code Online (Sandbox Code Playgroud)

脚本输出:

<?xml version="1.0"?>
<LEVEL1><LEVEL2><LEVEL3/></LEVEL2></LEVEL1>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

  <?xml version="1.0"?>
  <LEVEL1>
     <LEVEL2>
      <LEVEL3/> 
     </LEVEL2>
   </LEVEL1>
Run Code Online (Sandbox Code Playgroud)

xml perl

1
推荐指数
1
解决办法
1829
查看次数

perl +如何在foreach循环中使用chomp

以下perl脚本(显示下)

打印以下XML文件,但XML有问题,因为在TEST字后面不必要的" "字符

 <ROOT>
     <FILE Name="TEST1&#10;"/>
     <FILE Name="TEST2&#10;"/>
     <FILE Name="TEST&#10;"/>ar
</ROOT>
Run Code Online (Sandbox Code Playgroud)

我认为" "字符是因为换行符(用反引号运算符读取命令输出到@myNames)似乎我的XML中现有" "的问题可以解决chomp命令

我的问题:在哪种方式需要在我的脚本中添加chomp命令以解决问题

我的perl脚本

#!/usr/bin/perl

use warnings;
use XML::LibXML;


my $doc  = XML::LibXML::Document->new; 
my $root = $doc->createElement('ROOT');
$doc->setDocumentElement($root);


my @myNames=` ls /var/tmp | grep FILE.xml | sed "s/.FILE.*//"  `;

foreach (@myNames) {

my $objVar = $doc->createElement('FILE');
$root->appendChild($objVar);
$objVar->setAttribute('Name' , $_ );

} 


my @lines = split /\n/, $doc->toString(1);
shift @lines;

foreach (@lines) {

print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

/ var/tmp下的文件

   TEST1-FILE.xml
   TEST2-FILE.xml
   TEST-FILE.xml
Run Code Online (Sandbox Code Playgroud)

perl

1
推荐指数
1
解决办法
1522
查看次数

grep +一段时间后添加超时如果找不到相关的匹配

我使用以下命令语法在我的脚本中搜索params

grep -qsRw -m1"any_param"/dir/..../

有时候搜索需要花费很长时间.问题是如何为grep命令添加时间

例如,20秒后,grep将会爆发

如果为grep添加时间不违法,那么在其他方面怎么可能呢?

THX Yael

linux

0
推荐指数
1
解决办法
3478
查看次数

标签 统计

perl ×2

linux ×1

sed ×1

xml ×1