相关疑难解决方法(0)

Perl:遍历文件并替换

我只想读取日志文件,进行搜索和替换,然后写出对同一日志文件的更改.

在Perl中执行此操作的最佳实践方法是什么?

perl file substitution

6
推荐指数
2
解决办法
6743
查看次数

用一个带bash的新行替换文件中的两行

我试图用一个新行替换文件中的两行:

foo1.txt
  aaa   aaa
  bbb   bbb
  ccc   ccc
  ddd   ddd
  bbb   bbb
  ddd   ddd
Run Code Online (Sandbox Code Playgroud)

替换文件后应该看起来像这样

foo1.txt
  aaa   aaa
  eee   eee
  ddd   ddd
  bbb   bbb
  ddd   ddd
Run Code Online (Sandbox Code Playgroud)

有没有办法使用sed或其他命令在文件夹的所有文件中替换它

我一直在尝试用sed但没有任何成功: sed 's/bbb\tbbb\nccc\tccc/eee\teee/g' foo*.txt

bash replace

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

Perl正则表达式搜索和替换不匹配

我正在尝试使用perl来搜索和替换一些过时的MySQL命令

perl -i -pe 'BEGIN{undef $/;} s/if @RequestID.*@NextValue=@TableNameID output/if @RequestID is not NULL\n                begin\n                        select @TableNameID = @TableNameID + 1/smgi' $file1
Run Code Online (Sandbox Code Playgroud)

但是目前文件在暗示正则表达式不匹配之前和之后仍然完全相同?

smgi打开了标志,所以.*也匹配新行从Multiline搜索替换Perl的建议

这是我想要匹配的文件的剪辑

        if ( @@rowcount = 0 )
                return 1

        update Sequence set CurrentValue = @TableNameID where Code = 'TableName'
end

/* TableNames - Approval Request ID */
if @RequestID is not NULL
begin
        exec spGetNextSequence @Name='TableName', @NextValue=@TableNameID output

        insert into TableName        /* RequestID */
        (
                TableNameID,
                TxnVrsnID,
                FldNmCod,
Run Code Online (Sandbox Code Playgroud)

如果你在http://regexpal.com/(或任何类似的正则表达式测试仪)测试模式- smi …

regex perl search

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

如何在Perl中的正则表达式匹配后删除该行

我希望在正则表达式匹配后删除该行,但我不确定如何编写删除Perl中的下一行 - 帮助?

while ( my $line = <FILE> ) {
if ($line =~ m/(regex)/i) {
# delete the next $line
}    
Run Code Online (Sandbox Code Playgroud)

regex perl

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

标签 统计

perl ×3

regex ×2

bash ×1

file ×1

replace ×1

search ×1

substitution ×1