問題タブ [uniq]
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.
grep - 1 つのページ (シェル) へのリファラーによって引き起こされた全体的なページ ビュー
nginx または apacheの標準形式のログ ファイルを使用してcombined
access_log
、UNIX シェルで、特定のリファラーが一度持ち込んだ各訪問者 (つまり、IP アドレス) からの訪問数またはページ ビュー (つまり、合計要求数) をどのように計算しますか?
つまり、別のサイトであなたのサイトへのリンクを見つけた各訪問者によるすべてのリクエストの数です。
bash - CSVファイルへのUnix uniqコマンド
単一および複数単語の英語フレーズを含むテキスト ファイル (list.txt) があります。私の目標は、各単語の単語カウントを行い、結果を CSV ファイルに書き込むことです。
最大から最小の順に並べ替えられた、各単語の一意のインスタンスの量を書き込むコマンドを見つけました。そのコマンドは次のとおりです。
問題は、新しいファイル (output.txt) のフォーマット方法です。先頭に 3 つのスペースがあり、その後に出現回数が続き、その後にスペースが続き、その後に単語が続きます。次に、次の行に進みます。例:
CSV などのより望ましい形式で結果を取得するには、どうすればよいですか? たとえば、次のようになりたいです。
さらに良いのは次のとおりです。
Unix コマンドでこれを行う方法はありますか、またはテキスト エディターまたは Excel 内で後処理を行う必要がありますか?
unix - ソート、ユニーク、表示最大数
以下の表では、重複を削除し、ある時点で 12:06 と言うと、最大カウント値のみが表示されます。
出力は次のようになります。
bash - ファイル内の特定の単語の出現をカウントするためのコマンドライン(jsonのキーの数など)
コマンドライン関連のものは少し新しいですが、いくつかのポインタを探しています。
次のクイックスクリプトを使用して、jsonファイルにキーが含まれている回数をカウントします。
それはうまく機能しますが、たくさんのキーの数をテストしたいときに繰り返します...
そこで、keyname引数で個別に指定するのではなく、テキストファイルに格納されているキー名の配列を取得するようにアップグレードしたいと思います。それがワンライナーのままで、無料のままであればcat
、さらに良いでしょう。
私はワンライナーがあまり得意ではないので、代わりにこれを試しました:
(1)testkeys.shというスクリプトを作成します。
(2)keys.txtというキーファイルを作成します
(3)次に
しかし、これは完了せずに実行されました。
考え?
keys.txtの行を変数にして、grepのループステートメントに入れる方法を見つけようとしましたが、失敗しました。必要な出力は...
アップデート
grepが-fフラグを使用してパターンファイルを引数として取ることができることは知っていますが、それでも私が理解できない方法でスクリプトを大幅に変更する必要があるようです。だから、例えば...
変換しようとしています...
の中へ...
を生成します
...たくさんの時間。また、n回実行される個々の実行の速度よりも/はるかに/長くかかります。
私もこれを試しましたが、これはクールだと思いました。
しかし、これも長い間実行され、count=1を超えて集計されませんでした。
bash - 1 行だけでなく、最初の N 回の一意の行を取得する
私は空白で区切られた2つのフィールドである行を持つファイルを持っています:
2 列目にタイプの最初の N 行を取得する必要があります。私がしていることは
sort -k2 | uniq -f1 --all-repeated=prepend | grep "^$" -A3
、どちらが機能するはずですが、とuniq -f1
は異なる何かを与えてくれますuniq -f1 --all-repeated=prepend
。prepend は一意のチャンクの前に空行のみを追加する必要があることを正しく理解していますか?
または、より良いアプローチがありますか?
ありがとう
sorting - 1 つの列に基づいて、2 つ以上の重複があるすべての行を保持します
次の形式の何百万行ものファイルがあります。
を使用して、列 9 で並べ替えましたsort -k9
。列 9 は 100 文字の文字列ですが、一部のエントリにはピリオドが含まれる場合があります。ここで、列 9 の 100 文字の文字列が 1 回または 2 回 (<3 回) しか発生しない行を削除し、他のすべての行をファイルに保存します。
uniq
私は( -d -f9 -w100
) で遊んで、役に立つsort
とawk
思いますが、初心者すぎてこれを理解できません。
ruby - 2 つの配列を取り、一意ではない値から 3 つ目の配列を作成します
巨大なメーリング リストの移行の重複を排除しようとしていますが、落とし穴があります。複製を取得して、それらを独自の配列に変換したいと思います(3番目)。
これらの配列を非常に単純で短くしましょう。
c = ["rich@aol.com"]
基本的に、両方のリストに存在する唯一のメールであるため、作成しようとしています。
私がこれまでに試みたこと:
unqiq の反対はありますか?
戻り値: ["rich@aol.com", "ian@aol.com"]
a + b を 3 番目の c 配列にダンプし、c を ab.uniq と比較して、重複しているものを取得できますか?
これを行う簡単な方法がありませんか?どんな助けでも大歓迎です!!!!
awk - uniqまたはawkを使用してシェルスクリプトで一意のIPアドレスとエラーの数を取得する方法は?
シェルスクリプトを使用して、複数回繰り返して URL に対して nslookup を実行しています。各 URL で IP が返された回数を確認する必要があります。
出力ファイルでは、出力は次のように保存されます
uniq -c コマンドを使用すると、同じ IP アドレスが隣接している場合はカウントされますが、同じ IP アドレスが隣接していない行にある場合はカウントされません
ここにサンプル出力があります
特定の URL に対して複数の IP アドレスが返され、それらが隣接していない行にある場合は、no. 反復の。その場合、uniq-c コマンドは機能しません。ソートオプションを使用するとソートされますが、URLごとに上記のように出力を表示する必要があります。カウントとその IP アドレスを含む URL と次の行。
たとえば。google.com で nslookup を実行すると、複数のアドレスが返され、uniq -c を実行すると、次の出力が得られます。ご覧のとおり、同じ IP アドレスがありますが、隣接していない行では uniq -c が機能しないため、カウントは 1 しかありません。
AWK も試してみましたが、その場合、必要な形式で出力されません。
awk コマンド
これを達成するためのより良い解決策を提案できますか - 上記の形式でカウントと表示を取得しますか?
希望する出力形式は
サンプル入力ファイル。
として必要なサンプル出力
ありがとうございました。
shell - Grep で単語数を取得する
私は使用しています
単語数を取得しますが、形式のファイルがあります
そして、返されるコマンドがあるかどうか疑問に思っていました: 3,2,1,1
前のコマンドを複数回実行する代わりに