我想在所有没有的文件中添加一些许可文本 许可证。所以,我想检查文件的第一行,如果没有 在其中包含文本“#region License”,以插入一些文本。感谢。
答案 0 :(得分:3)
以下单行将在尚未以该文本开头的第一行文件中插入文本#region License
:
perl -i.bckp -ne 'print && next if $. > 1;/^#region License/?print:print"#region License\n$_"' filename.txt
它还会制作文件扩展名为.bckp
的备份文件。
答案 1 :(得分:0)
这可能对您有用:
sed -i -e '1{/#region License/!i\some text' -e '}' file1 file2 file....
答案 2 :(得分:0)
foreach(glob('my/files-*.dat'))
{
open IFH,'<',$);
my $rec = <IFH>;
if($rec =~ m/#region License/)
{
close IFH;
next;
}
open OFH,'>',"$_.tmp";
print OFH "#region License .....\n";
print OFH $rec;
print OFH <IFH>;
close IFH;
close OFH;
unlink $_;
rename $_.tmp $_;
}