私は2つのファイルを持っています複数のファイル:トークン置換ファイルからの値を使用して作成し、複数のファイル、1つの置換のための1それぞれが
file_key1:
some useful or useless text
key1
some more useful or useless text
file_key2:
some useful or useless text
key2
some more useful or useless text
file_key3:
some useful or useless text
key3
some more useful or useless text
それはsedのかawkのために来るとき、私は極度のnoobです。私は上記のperlスクリプトまたはbashスクリプトを使用して行うことができます。 sedまたはawkを使ってそれを行う方法はありますか?
編集:私は上記のタスクを行うために使用していますperlスクリプトを要求したとして、awkでは
$newFileCount= 1;
open IFH,$filename || die "cannot open the file";
sub CreateNewFiles{
my ($cid) = @_;
open TIFH, $templateFile; # this is the template file file2 from the above problem description
open OFH,">$templateFileTemp";
while(<TIFH>) {
s/::tok::/$cid/g;
print OFH $_;
}
close TIFH;
close OFH;
move($templateFileTemp,$newFilePrefix.$newFileCount.".ext"); # using a library File::Copy for move operation
}
while(<IFH>) {
chomp($_);
$newFileCount= $newFileCount + 1;
CreateNewFiles($_);
}
perlスクリプトやbashスクリプトで実行できるのであれば、なぜsedまたはawkでそれをしたいのですか?そしてもしあなたがしたら...それはおそらくあなたがこれまでに試したことを示す良い答えを出すのを助けるでしょう。 – Sobrique
@Sobrique私はちょうどこれらのことをするsed/awkの方法を学びたかった。私はタスクの最小のためのPerlのスクリプトを書かなければならないインスタンスに直面している、私は確かにsed/awkを学ぶことに価値があると思います。とにかく、上の編集を見てください、私はperlスクリプトで質問を更新しました – Ravi
私はちょうど実際に同意しません。 'perl'はプログラミング言語であり、すべてをうまくやり遂げることができます。 – Sobrique