問題タブ [csplit]
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.
regex - 正規表現を使用して csplit にファイルを分割する場所を伝える
次のようにコンテンツが設定された大きなテキスト ファイルがあります。
を使用して、このファイルを個々のファイルに分割しようとしていますcsplit
。
個々のファイルのコンテンツは、次のようにフォーマットされます。
---、改行、タイトルを次のように正規表現できることを望んでいました---\ntitle
しかし、私はそれを選択することができません…</p>
私は無駄に多くのバリエーションを試しました。「一致しません」というメッセージが表示され続けます。
xml - csplit - 何が間違っていますか?
私はこの .xml ファイルを持っています:
テキスト部分のみを取得するために csplit を使用しようとしています。これが私が思いついたものです。
regex - 巨大なファイルを分割する最適な方法
かなり規則的で、次のような巨大なテキスト ファイル (約 5 億行のテキスト) を分割しようとしています。
どこで ... は繰り返しパターンを意味し、「何とか」は可変長〜2000行です。1人目は別れたい
別のファイルにブロックし、可能な方法で元のファイルから削除します。
理想的な解決策は、元のファイルから初期ブロックを切り取って、巨大な初期ファイルの末尾をロードせずに新しいファイルに貼り付けることです。
次の方法で csplit を試みました。
これは有効な方法ですが、時間的にはあまり効率的ではありません。
編集:最初のブロックではなく最後の「開始-終了」ブロックをファイルから削除すると解決策はありますか?
text - 1 つの整数のみを含む 2 つの連続する行にテキスト ファイルを分割する
3D 座標のリストを含む 1 つの長いテキスト ファイルがあります。ファイルの先頭は、次のようなヘッダーで構成されています。
その後、座標のリストを開始します。すべての行は 3 ~ 7 個の数字で構成されています。例えば:
リストの全長は、ヘッダーの最初の 2 つの数値の積 (10112*2455) に等しくなります。これらは PTX ファイルで、レーザー スキャンからの 3D ポイントがテキスト形式で含まれています。
ポイントは、ファイルがヘッダーと座標の連結であり、ファイルを分割してヘッダーで分割したいということです。理想的な解決策は、ファイルを 2 つの連続する単一整数行に分割することです。csplit などを使用して一般的なソリューションを探していましたが、csplit は一度に 1 行ずつ読み取るため、連続する 2 行を検出できません。
最後の手段として、自分でソフトウェアを作成しますが、可能な場合は CLI ツール (Awk?) に基づくソリューションを見つけることを好みます。
アイデアはありますか?
ありがとうございました
編集:例
次の内容のファイルがあるとします。
この場合、1 つの整数で構成される 2 つの行の最初の行の直前で、2 つのファイルが作成されます。
別の方法として、セクションを構成するポイントの数が 2 つの単数行で示されていることを知っていれば、最初の出力ファイルは最初の 2*3+10=16 (ヘッダーの 10 行とデータの 6 行) 行で構成されていると言えます。 、および 2 番目のファイルは、後続の 3*1+10=13 (常にヘッダーの 10 行、今回はデータの 3 行) 行で構成されます。
bash - 行の内容に基づいて巨大なテキスト ファイルを分割する
私を助けてください、私はここで本当に迷っています。リンクでいっぱいの大きなテキスト ファイルがあり、リンクが属している Web サイトに基づいてそれらを分離しようとしています。私は csplit コマンドでそれをやろうとしていましたが、テキストの内容に依存するため、どうすればよいかわかりません。
テキストの例:
したがって、この例では、最初の 2 つのリンクが 1 つのファイルに含まれ、残りの 2 つのリンクがそれぞれ 1 つのファイルに含まれます。これはどのように機能しますか?これが可能であるかどうか、私にはまったくわかりません。(初心者プログラマー)
csplit - csplit を使用して fasta ファイルを分割する
大きな fasta ファイルを小さなファイルに分割する必要があります。次のコマンドを試しています:
csplit -z input.fasta '/>/' '{*}'
しかし、それは多くのファイルを生成しています(">"ごとに)。小さいファイルを 2 つだけ作成するように依頼する方法はありますか?
ありがとうございました
bash - パターンに従って (stdout で) 長いファイルを分割し、それをループに入力します。
私は非常に長いファイル (そうです、これは fasta 形式の DNA です) を持っていますが、これは実際にはいくつかのファイルをまとめてパッチし、stdout に出力したものです。例えば:
このストリームをパターン (ここでは として示されています=
) に従って分割し、各ピースに対して個別にアクションを実行したいと考えています。
私は次のようなものを調べました
しかし、大量の情報を変数に入れると非常に非効率になるのではないかと心配しています。さらに、 read (...) 自体が非効率的であることを読みました。
ピースをループに出力するようなものを見つけたいのですがcsplit
、スマートなものを思いつくことができませんでした。理想的には、この非常に悪い擬似コードのようなものです:
一時ファイルへの書き込みも非常に非効率になるので避けたいと思います。
それは意味がありますか?
どんな助けでも大歓迎です!