過去の数週間から私の質問を精査すると、私はこの質問に似た質問をしました。私は問題がどこから来たのか分からなかったので、要求された形式で質問するのに問題がありました。 E.Mortonは範囲表現を使用しないように指示します。まあ、私は彼らが何をすごく知っているのか分かりません。このフォーラムでは、多くの質問が私の仕事と同じように答えました。複数の入力ファイルを一致させて処理します。
のように:「どのように試合から次の行を印刷する」(e.g.)
しかし、私は私は1つの入力ファイルよりも多くを処理する際に動作を停止したすべてのソリューションを提供しています。私は多くを処理する必要があります。 1.awkが含まれていながら
gawk -f 1.awk print*.csv > new.txt
:
BEGIN { OFS=FS=";"
pattern="row4"
}
go {print} $0 ~ pattern {go = 1}
入力ファイル1 print1.csvが含まれています
row1;something;in;this;row;;;;;;;
row2;something;in;this;row;;;;;;;
row3;something;in;this;row;;;;;;;
row4;don't;need;to;match;the;whole;line,;
row5;something;in;this;row;;;;;;;
row6;something;in;this;row;;;;;;;
row7;something;in;this;row;;;;;;;
row8;something;in;this;row;;;;;;;
row9;something;in;this;row;;;;;;;
row10;something;in;this;row;;;;;;;
入力ファイル2 print2.csvが同じ含まれてい 私は、このコマンドを使用します。単に説明の目的のためです。
1.awk(とこのフォーラムで見つけたいくつかのやり方は、1つのファイルに対して動作します)。出力:
row5;something;in;this;row;;;;;;;
row6;something;in;this;row;;;;;;;
row7;something;in;this;row;;;;;;;
row8;something;in;this;row;;;;;;;
row9;something;in;this;row;;;;;;;
row10;something;in;this;row;;;;;;;
しかし、入力ファイルをさらに処理するときはありません。 このように処理するたびに、複数の入力ファイルawkコマンド 'to match from print'は無視されるようです。 私は範囲式を使わないように言われました。私はどのようにして問題が多種のファイルを入力する方法にリンクしているのか分かりません。 「もし$ 1:
OPごとに多くのファイルが存在する可能性があります。あまりにも多くのファイルが開かれているなどのエラーが発生する可能性があります。 – RavinderSingh13
あなたの推測は正しくありません。入力ファイルは一度に1つずつ処理され、正しく閉じられます。 – karakfa
karakfaありがとうございます。最終的にそれは機能し、私は私の目標に一歩近づいています。あなたのawkを組み合わせることは可能ですか? "$ 1 =" row5 "なら$ 6 =" row5 "と書いて$ 5の値" row5 "を削除しますか?言い換えれば、コンテンツ" row5 "を移動するには、 1列目に見つかったら新しい列6に?別のawkでこれを行うことができますが、1つに組み合わせるとより良いでしょう。 – prestalearner