問題タブ [awk]
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.
linux - awk を使用したインプレース編集
f1
awkを使用して、ファイルの先頭に行を追加したいと思います。
以下よりも良い方法はありますか?
awkには-i
sedのオプションのようなものがありますか?
bash - ファイルからランダムなテキストを取得するスクリプトを BASH で実行するには?
次のようなファイルがあります:
ああ
bbb
ccc
ddd
ええ
そして、このテキストファイルのランダムな行を取り、変数または何かとして返すことができるスクリプトをBASHで実行したいと考えています。
一部のAWKで実行できると聞きました。何か案は?
更新:私は今これを使用しています:
shuf -n 1 text.txt
助けてくれてありがとう!
python - 平文ファイルの一意の用語を大文字と小文字を区別せずにカウントするにはどうすればよいですか?
これは、一般的なUNIXライクなシステム(Python、Perl、awk、標準のUNIX utils {sort、uniq}など)で使用できる可能性が高い高水準言語であればどれでもかまいません。うまくいけば、2MBのテキストファイルの一意の用語の総数を報告するのに十分な速さです。
これは迅速な健全性チェックにのみ必要なので、適切に設計する必要はありません。
ケースに敏感であることを忘れないでください。
どうもありがとうございました。
補足:Pythonを使用する場合は、バージョン3のみのコードを使用しないでください。私が実行しているシステムには2.4.4しかありません。
sed - sed/awk で行範囲に対してアクションを実行する
sed/awk の特定の範囲の行から特定の変数を抽出するにはどうすればよいですか?
例: 105 行目から始まるこのセクションから、.tnsnames.ora からホストとポートを抽出します。
regex - UNIX ログ ファイル出力の行を分割する方法
ログ ファイルから日付と時刻を解析できるようにしたいと考えています。現在、それらは次の形式になっています。
「02/Jun/2009:14:38:50」ですが、Linuxコマンドラインから利用できるものを使用して、それらを異なる列に分けて、結果の出力が次のようになるようにしたいと思います:
"2009/06/02" "14:38:50"
誰かがこれをどのように行うことができるかについて光を当てることができますか?
よろしく
sed - sed/awkの残りのフィールドを分割する
私は次の行を持っています:
そしてそれを変換したい(フィールド2-> nに引用符を追加):
svn - 特定の日付以降に特定のユーザーによってコミットされたファイルのsvnログを解析する必要がありますか?
もしそうなら、awkを利用した次のワンライナーが便利なテンプレートを提供するかもしれません
awk - awkを使用してn行ごとに空白行を挿入するにはどうすればよいですか?
次のような入力ファイルがあります。
awk を使用して、数行ごとに空白行を挿入したいと思います。たとえば、2 回ごとに次のように指定します。
awk で n 行ごとに空白行をファイルに入れるにはどうすればよいですか?
regex - Awk/etc.: ファイルからマッチを抽出
<li>
HTML ファイルがあり、と</li>
タグの間のテキストを抽出したいと考えています。もちろん、これを行うには無数の方法がありますが、単純なシェル コマンドでこれを行う習慣を身につけると便利だと思いました。
問題は、これはすべてを印刷することですが、私は単純に括弧内に一致を印刷したいのですが([^>]+)
、 awk がこれをサポートしていないか、私が無能です。後者の可能性が高いようです。提供された正規表現をファイルに適用し、指定された一致のみを抽出したい場合、どのようにしますか? awk
私はすでに他の方法を半ダース知っていますが、このラウンドに勝たせる気がしません;)
編集: データは適切に構造化されていないため、位置一致 ( $1, $2, etc.
) を使用することはできません。
bash - 複数のコマンドをチェーンして、それらすべてが stdin から同じ入力を受け取るようにすることはできますか?
bash では、複数のコマンドをチェーンして、すべて stdin から同じ入力を取得する方法はありますか? つまり、1 つのコマンドが stdin を読み取り、何らかの処理を行い、出力をファイルに書き込みます。チェーンの次のコマンドは、最初のコマンドが取得したものと同じ入力を取得します。等々。
たとえば、コンテンツをフィルタリングすることによって、大きなテキスト ファイルを複数のファイルに分割するとします。このようなもの:
2 番目の grep は元のテキスト ファイルではなく、最初の grep の出力を取得するため、これは明らかに機能しません。ティーを挿入しようとしましたが、役に立ちません。最初のgrepが出力ではなく入力をパイプに送信するようにするbashマジックはありますか?
ところで、ファイルの分割は簡単な例でした。ネットワーク経由で受信する連続ライブ テキスト ストリームを分割 (パターン検索によるファイリング) し、出力を別の名前付きパイプまたはソケットに書き込むことを検討してください。シェルスクリプトで簡単にできる方法があれば教えていただきたいです。
(この質問は、不明確さを指摘した回答に基づいて、私の以前の質問のクリーンアップされたバージョンです)