問題タブ [nawk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 特定の文字列が各行で複数回繰り返されているファイルから行を取得するにはどうすればよいですか?
以下のようなファイル(サンプルファイル)があります。
10、ボブ、エレク、ボブ、ヒーロー、、
20、ボブ、メック、スティーブ、ジュニ、、、ユム
30、Bob、instr、Bob、sen
40、Bob、comps、alex、juni、syu 、、
50、ボブ、ケム、ボブ、ボブ、セニ
文字列Bobが各行に複数回表示されているすべての行が必要になります。
また、上記のように区切られたファイルではなく、以下のようなファイルの場合、特定の文字列が繰り返されている行をどのように取得しますか(この場合はBob)
10、ボブ、elecBob、ヒーロー、、
20、Bob、mech、steve、juni ||| Bob、yummBob
30、BobExtarvagnaxz |||
私はいくつかのオプションを試しましたが、正確に必要なものになりませんでした。
ありがとうチェサン
unix - Awk と複数ファイルの処理は可能ですか?
2 つのファイル コンテンツを処理する必要があります。単一の nawk ステートメントを使用してそれを実現できるかどうか疑問に思っていました。
ファイル A の内容:
ファイル B の内容:
$2
ファイル A の (2 番目のフィールド) がファイル B の逆であるかどうかを比較したいと$2
思います。$2
Aと Bをどのように区別しますか$2
編集: A の最初の行の $2 (1) と B の最後の行の $2 (再び 1) を比較する必要があります。次に、A の 2 行目の $2 と B の NR-1 行目の $2 を比較します。すぐ.....
awk - シェルスクリプト-「nawk」
こんにちは私は、処理されたファイルのサイズなどの詳細を含むfinal_customer_total.txtからレコードを読み取ろうとしてきました。「nawk」コマンドを使用してfinal_customer_total.txtを読み取り、処理された合計サイズを計算してから、合計を別のファイルに保存しました。
変数t=未処理のファイル
のサイズ(例:let )
t = 1000
入力ファイル :
file1 100
file2 250
file3 300
期待される出力:
合計サイズを処理する必要があります:1650
実際の出力:
file1 100
file2 250
file3 300
合計サイズを処理する必要があります:1650
inuptファイルの私の懸念内容も出力されますが、私は望んでいません!!
以下は私が試したコマンドです
「awk」を試してみると、エラーが
発生しました。エラー:awkが1行目近くでベイリングアウト
perl - 2つのファイルの違いを知りたいです。Unix Scripting を使用して、どの列で違いが発生したかを特定したい
Informix から Oracle に移行するデータ移行プロジェクトを行っています。ここで、Informix テーブルと Oracle テーブルの間でデータを比較する必要が生じました。したがって、Informix の Table1 は Oracle の Table1 に移行されます。
現在、データはTable1
Informix からTable1
Oracle に移行されています。両方のテーブルから 2 つのフラット ファイルにデータを取得しています。2 つのファイルにデータの違いがあるかどうかを確認したいだけです。
File1
300列の100万レコードとFile2
言い、300列の100万レコードと言います。File1
およびFile2
パイプ区切りファイルです。したがって、違いはファイルのどこにでもある可能性があります。ほとんどの行全体が一致する可能性がありますが、1 つまたは 2 つの列に違いがある可能性があります。以上のことを念頭に置いて、違いを調べてみたいと思います。row1 in file1 is not matching with row1 in file2 at column 3
差分出力には、両方のファイルの列の値などのリストが表示されるはずです。両方のファイルからのそのような違いはすべて、素人が理解できる形式でコンソールにリストする必要があります。
より明確にするために、例を挙げて説明したいと思います。
以下のように見える場合、私の最初のファイル:
2 番目のファイルは次のようになります。
したがって、両方のファイルを比較すると。col4
とcol6
に違いがあることがわかりますrow2
。だから私はこのようなものが欲しい:
したがって、2番目のファイルから上の行で印刷する必要があります。次に、期待値を出力する必要があります。
スクリプトを使用する前にファイルをソートする必要があることは知っています。
fge のスクリプトでは、以下のような出力が得られます。
私は以下のような出力を得ています
列全体の比較が必要です。ファイルは|
区切りファイルです。
shell - シェル スクリプト - 共通名を持つすべてのファイルを取得し、それらのファイルを並べ替える方法
だから私はシェルスクリプトがいかに強力であるかを学んでいて、それを愛していますが、これには本当に苦労しています...
次のような名前のファイルがたくさんあります:checkin.10 checkin.11 checkin.12
の後の数字。は常に # であり、順次上昇します。
ディレクトリ内のすべての checkin.* ファイルを検索し、ファイル名に最大の # を持つファイルを返す必要があります。したがって、上記のファイルの場合、'checkin.12' を返す必要があります。私のロジックは、すべての checkin.* ファイル名を取得し、それらをループして、# を変数に格納された前のファイルの # と比較することでした。現在のファイルの # 値が大きい場合は、変数を現在のファイルに # 更新し、小さい場合は次のファイルに移動します。このようにして、checkin.12 を最高値として # 返してもらい、checkin.12 で必要なことを行うことができます。これを行うためのより良い方法が必要です.誰かが私に別のアプローチの例を見せてくれることを望んでいました.
awk - awk 出力にヘッダーがありません
入力:
これにより、ヘッダーが表示されます。
しかし、これはしません:
どうして?
unix - UNIXを使用して特定の列を行単位で印刷する方法は?
以下に示す入力ファイルが1つあります。
以下のように出力したい:
入力ファイルの 3 番目 (整数) または 4 番目 (文字列) の列。
たとえば、データの 2 番目の列には n 個の系列があります。このシリーズには 4 つの setupresultcode (空、0、1、2) があります。各結果コードの名前は 4 列目に示されます。resultcode が 0 の場合に出力したい。つまり、successfulReleasedByService は、シリーズ 9184200 に対して値 11 を出力します。
solaris - kshとawk/nawkによる分割と追加
私はこれで最悪の時間を過ごしています。これが私のnawkステートメントです:
一言で言えば、これはタブ区切りファイルです。最初の列(12文字)を3列に分割したいのですが、これは部分文字列関数を使用して行います。次に、最初の列なしで残りのデータを印刷したいと思います。私が問題を抱えているのは追加部分です。
現在の反復では、6列を持たない行にはコンマがぶら下がっていて、6列を超える行は印刷されません。
何かご意見は?
regex - awk パターンの正規表現区切り文字を変更する
デフォルトの正規表現区切り文字 (スラッシュ) を他の文字に変更することは可能ですか?
sed構文を使用して実行しようとしましたが、機能しませんでした。
私が試している正規表現には多くのスラッシュがあります。それらをすべてエスケープすると、見苦しく、読めなくなります。/ を | に変更してみました しかし、うまくいきませんでした。
ティア
awk - printfを使用しないファンシーなawk出力
これは好奇心のためだけです。
このようなタブ区切りファイルがあります
これを行うことにより、最初の列の「バナナ」を置き換えます。それ以外の場合、出力は同じままです。
一方、これは、バナナという単語を0に置き換えた行のタブをスペースに置き換えます。
OFS
タブを交換せずに、交換した行を印刷するにはどうすればよいですか。私は進歩することなくたくさん遊んできました。覚えておいてください:いいえprintf