タグ付けされた質問 「tail」

ファイルの最後での更新の監視(tailユーティリティあり、またはなし)

3
tail -f、ログが3秒間アイドルになった後に改行を挿入しますか?
を行うときにtail -f error.log、3秒間ファイルに何も適用されなかった後にプログラムで改行を挿入する方法は? (明らかに、1つの改行が追加されたら、テキストの他の行がログファイルに追加されるまで、他の改行は追加されません) たとえば、これらの行はerror.logに追加されます: foo bar boo [[wait 4 seconds]] 2far 2foo 2bar 2boo [[wait 40 seconds]] 2far これはコンソールの出力です: foo bar boo 2far 2foo 2bar 2boo 2far

5
複数のファイルを一度にテーリングする場合、各行の先頭にファイル名を表示しますか?
以下に示すように複数のファイルを一度にテーリングする場合、各行の先頭にファイル名を表示する方法はありますか? tail -f one.log two.log 電流出力 ==> one.log <== contents of one.log here... contents of one.log here... ==> two.log <== contents of one.log here... contents of two.log here.. のようなものを探しています one.log: contents of one.log here... one.log: contents of one.log here... two.log: contents of two.log here... two.log: contents of two.log here...
14 tail 

3
ヘッド/テールへの負の引数
この質問の変種は確かにさまざまな場所で何度か尋ねられていますが、私はM運のないファイルから最後の行を削除しようとしています。 二番目に投票の回答で、この質問は、ファイルの最後の行を取り除くために、次のことをお勧めします: head -n -1 foo.txt > temp.txt ただし、OSXとZshでそれを試すと、次のようになります。 head: illegal line count -- -1 何故ですか?どのように私は削除することができM 、最後の行と最初の N与えられたファイルの行を?

1
行ではなく、ファイルの最後のNバイトをtail / grep / awkする方法
プレーンテキストログファイル(myapp.log)にログを記録するアプリケーションがありますが、各ログエントリの最後に改行文字を書き込んでいないようです。次のようなコマンドを実行すると、tail -n 50 myapp.log実際には何百もの「行」のテキスト(ログエントリ)を受け取ります。 このログファイルは非常に大きく、約1 GBで、最後のCRやLFが挿入されたのはどれくらい前かを知っています。たとえば、最後の2MBを取得するにはどうすればよいですか?
13 cat  tail 

2
まだ作成されていないファイルのテーリングを開始する方法
私はtail、ジョブの進行状況をディスクに書き込むことがわかっているジョブの進行状況を監視するために使用します。ほとんどの場合、実行を開始する前に作成するファイルを知っています(ジョブはスーパーコンピューターのスケジューラーによってディスパッチされます) tailこれらのファイルを作成する前に、それらのファイルへの方法はありますか?競合状態を回避し、かつ/またはジョブがディスクに書き込む方法とタイミングについて推測しながら、そのようにしたいと思います。

2
入力の最初のN行を削除するコマンド
バックグラウンド SSHサーバーを実行しており、このユーザーを削除する必要があります。このユーザーは、最初に強制終了する必要のあるいくつかのプロセスを現在実行しているため、削除できません。 これは、現在使用しているユーザーのすべてのプロセスIDを見つけるために現在使用しているパイプラインです。 ps -u user | awk '{print $1;}' 出力は次のようになります。 PID 2121 2122 2124 2125 2369 2370 これをパイプkill -9してすべてのプロセスを強制終了し、次のようにこの愚かなユーザーを削除できます。 ps -u user | awk '{print $1;}' | sudo xargs kill -9 しかし、これはPIDヘッダーのために機能しません: kill: failed to parse argument: 'PID' 質問 入力の最初の行を削除するには、単純なUnixコマンドが必要だと考えています。 tailこれに使用できることは承知していますが、表示する行数を正確に把握するために、入力に含まれる行数をカウントしたくありません。 headまたはtail逆のようなものを探しています(ストリームの最初/最後の部分のみを表示する代わりに、ストリームの開始/終了以外のすべてを表示します)。 注意 コマンドの| grep [[:digit:]]後に追加するだけでこの問題を解決できましたawkが、他のシナリオでは非常に役立つと思うので、ファイルの最初の行を削除する方法を探しています。
11 command-line  sed  awk  tail  head 

1
`tail -f`でファイルの進行状況を確認できない
tail -f以前はそうだったのに今は動かないのは驚きです。 バックアップのために実行する以下のコマンドがあります。 ubuntu@ubuntu:~$ sudo tar -cvf /media/ubuntu/My*Linux/ub*data/zebra.tar /media/ubuntu/home > z1 2> z2 && echo "pass" || echo "fail" 出力とエラーを確認するために、2つのファイルz1とがありz2ます。 次に、ファイルz1の端末でコマンドの出力を確認します。 ubuntu@ubuntu:~$ tail -f z1 しかし、このコマンドは時間とともに追加されているデータを表示していません。 私はusbペンドライブを使用してUbuntu 14.04.1のライブインストールに取り組んでいます。これが理由でしょうか?
11 ubuntu  tail 

3
iノード番号ではなくファイル名を減らすにはどうすればよいですか?
再起動時にログファイルをローテーションするソフトウェアがあります。ただし、開発中は何度も再起動しているので、随時最新のログファイルを監視したい。 で正常に開始lessしless program.log、末尾にShift+ fを押すと、ログファイルがローテーションされるときに、古いログファイルの監視が続行されます。これは、iノード番号が同じままであり、lessそのiノードへのオープンファイルハンドルがあるためと考えられます。 現在呼び出されているログファイルの最新のアクティビティを監視することはできますprogram.logか? 具体的には、Sun OSに取り組んでいるため、そこで機能するソリューションが理想的です。
11 logs  solaris  tail  less 

4
コマンドの出力がbashで利用できる行数を制限する方法は?
私はバックグラウンドで大きなファイルをダウンロードし始めました $ nohup wget http://example.tld/big.iso & これによりnohup.out、の出力を含むファイルも得られますwget。 これで、後でダウンロードプロセスを確認したい場合は使用できます$ tail -f nohup.outが、ターミナルウィンドウが思ったより早くいっぱいになります。私が見たいのは、最後の行が絶えず更新されていることです(wget単独で使用する場合と同じです)。 私は試しました$ tail -n 1 -f nohup.outが、それは最初のテイルのみに影響するようです。 一般的に言えば、コマンドの出力が利用できる/表示できる行数を制限する(この場合は1にする)ことが可能であれば、この問題は解決します。出力をCircularバッファに入れるようなものです。通常のプログレスバー$ wget example.tld/big.isoが印刷されると考えてください。 そのような解決策はありますか? または私は木を間違った方法で登っていますか?(意味、nohupの出力を制限したり、他のことをしたりする方が簡単でしょうか?)
11 bash  tail  nohup  stdout 

1
プロセスに出力を送信するシェルスクリプトを作成する方法
現在、サーバーコンソールプログラムを画面で実行しています。これは、それを読んだり、時々コマンドを送信したりする必要があるためです。 アプリをバックグラウンドでデーモンとして実行したい(initで起動/停止)。 tail -fログを記録することはできましたが、それではプロセスに入力を送信できません。 入力を読み取り、送信できるように設定する方法はありますか?それでもバックグラウンドで実行していますか? また、さまざまなプロセスからデーモンへの入力を送信できるようにもしたいと思います(たとえば、「Stop \ n」コマンドを送信できるシェルスクリプト)。

3
末尾を使用するときに「ファイルが切り捨てられた」メッセージを抑制します
私は使用してログファイルをテーリングしてtail -f messages.logおり、これは出力の一部です: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget tellus sit amet odio porttitor rhoncus. Donec consequat diam sit amet tellus viverra pellentesque. tail: messages.log: file truncated Suspendisse at risus id neque pharetra finibus in facilisis ipsum. これはtail: messages.log: file truncated、ファイルが自動的に切り捨てられたときに表示され、それが起こるはずtailですが、この切り捨てメッセージなしで出力を表示したいだけです。 使ってみましたtail -f messages.log | grep …
11 grep  tail  output 

2
一部のコマンドの実行中に1つのプロセスからログを読み取る
ファイルにログを生成するサービスがありますlogs.log。 このサービスと対話する他のコマンドがあります。一部だとしましょうfoo.sh。 私が必要なのは、実行logs.log中にログを切り取って保存するfoo.shことです。言い換えると、サービスのログの一部が自分とやり取りするときに必要foo.shになります(そのため、foo.shのログは気にしません)。 このコマンドでうまくいくと思いますfoo.shが、すでに終了している場合でもファイルの読み取りを続けます。 > foo.sh | tail -f logs.log > foo_part.log このトリックを実行する良い方法はありますか?
10 bash  tail 

4
コマンドラインで末尾からテキストを実行する最も簡単な方法は何ですか?
新しい(ubuntu)ボックスに取り組んでいるときに、タイプするgitと警告が表示されることがあります。 The program 'git' is currently not installed. You can install it by typing: apt-get install git-core それが起こったら、私は次のようなことをすることで最後の行をつかむことができることを知っています: !! 2>&1 | tail -n 1 しかし、どうすればその結果(apt-get install git-core)を最も簡単に実行できますか? できると気づいた `!! 2>&1 | tail -n 1` しかし、実際に出力をパイプして実行する方法もありますか?これは機能していないようです: !! 2>&1 | tail -n 1 | sh また、その2>&1部分は少し扱いに​​くいので、それを実現する簡単な方法があるかどうか知りたいと思います。 編集する これを何らかの方法で変数に保存してから、変数を実行することもできます。 !! 2>&1 | tail …

1
バイナリファイルを最初から追跡するには(la "tail -f")
バイナリファイルを最初から追跡することは可能tail -fですか? これはscp、ファイルをリモートサーバーに送信しているときに、別のプロセスにフィードしたい場合などに便利です(そう、私はssh+ catトリックを使用できることを知っています)。 私がFMから読む限り、tailテキストファイルを念頭に置いて書かれています。 標準のposixツールを使用してそのような操作を行う簡単な方法はありますか?

5
ヘッドとテールを使用して異なる行のセットを取得し、同じファイルに保存する
これは宿題ですが、具体的な宿題については質問しません。 1つのファイルからさまざまな行のセットを取得するには、ヘッドとテールを使用する必要があります。6-11行目と19-24行目と同じように、両方を別のファイルに保存します。私は追加などを使用してこれを行うことができることを知っています head -11 file|tail -6 > file1; head -24 file| tail -6 >> file1. しかし、私たちはそうなるとは思いません。 headコマンドとtailコマンドを組み合わせてファイルに保存する特定の方法はありますか?
10 tail  head 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.