gpt4 book ai didi

Perl - 在文件中找到匹配项后插入行

转载 作者:行者123 更新时间:2023-12-05 08:24:32 25 4
gpt4 key购买 nike

我在 some_1.xyz 中有一个具有以下语法的文件

module some_1 {
INPUT PINS
OUTPUT PINS
}

我想在行模块 some_1 之后插入 APPLY DELAYS xx 和 APPLY LOADS ld {

以下代码仅适用于一个文件,即,如果我将 some_1.xyz 替换为 *.xyz,则该脚本将不起作用。我尝试引入 sleep(xx) 但代码不适用于多个文件,我无法弄清楚为什么它不起作用。任何指针表示赞赏。谢谢

@modulename_array = `grep "module " some_1.xyz | cut -f 2 -d ' '`;
@line = `grep "module " some_1.xyz`;

chomp(@line);
chomp(@kfarray);

$i = 0;
foreach (@modulename_array) {
print "Applying delay and load to $_.xyz $line[$i] \n";

`perl -ni -le 'print; print "\tAPPLY DELAY xx \n \tAPPLY LOADS ld\n" if/$line[$i]/' $_.xyz`;
$i++;
#sleep(3);

}

最佳答案

更简单的方法,仅在一行中使用 SED(如果此问题仅适用于 UNIX,并且匹配是固定值,而不是正则表达式):

sed -i -e "s/<match pattern>/<match pattern>\n<new line here>/g" file.txt

(与初始响应相比,选项已经交换,因为第一条评论。)

注意\n 是添加一个新行。问候

关于Perl - 在文件中找到匹配项后插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com