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

catは、ファイルを連結したり、特定のファイルを標準出力に出力したりするために使用される標準のUnixユーティリティです。

6
巨大なファイルのcat行Xから行Y
私は(> 2GB)巨大なテキストファイルを持っていると私はしたいとcatラインXにY(例えば57890010から57890000)。 私が理解から私は、配管によってこれを行うことができますheadにtail、すなわち、またはその逆 head -A /path/to/file | tail -B または代わりに tail -C /path/to/file | head -D ここでA、B、CおよびDファイル内の行の数から計算することができる、XとY。 しかし、このアプローチには2つの問題があります。 あなたは計算する必要がありA、B、CとD。 コマンドは、読みたいと思うよりもはるかに多くの行pipeを相互に送信できます(たとえば、巨大なファイルの途中で数行だけを読んでいる場合) シェルを動作させて、必要な行を出力する方法はありますか?(Xとのみを提供しながらY)?
132 tail  cat  large-files  head 


7
暴走した猫を殺すには?
多くのcat場合、最大数千行の内容を持つファイルに対して誤ってコマンドを実行します。 + または+ を使用してcatコマンドを強制終了しようとしますが、両方の合計出力が端末に表示された後にのみ有効になるため、完全に実行されるまで待つ必要があります。CtrlCCtrlZcatcat 待つことを避けるより良い解決策はありますか?なぜなら、ファイルのサイズは最大で100MBであり、それを待つのはいらいらするからです。 を使用していtcshます。
128 shell  terminal  kill  cat  tcsh 

8
dd vs cat — ddは今でも関連性がありますか?
私は最近、私たちが使用することができます実現cat限りdd、それはだ、実際よりも速くdd これは、ddパフォーマンスだけでなく、ブロックサイズが正確に重要であるテープを扱うのに役立つことを知っています。しかし、最近では、ddできないことcatができる状況はありますか?(ここでは、パフォーマンスの差は20%未満であると見なします。) 具体的な例がいいでしょう!
122 dd  cloning  cat 

7
任意のファイルをcatすることはどれくらい安全ですか?
時にはとき、私cat誤ってバイナリファイルには、私の端末がアップ文字化け。すぐにreset修正できないものはありませんが、攻撃者は理論的には、端末に表示されたときに任意のコードを実行するファイルを作成できませんでしたか?ターミナルエミュレーターまたはその他の脆弱性を利用します。

5
「cat」と「cat <」の違い
私はチュートリアルを進めていて、両方cat myfile.txtとの使用を見ましたcat &lt; myfile.txt。これら2つのコマンドシーケンスに違いはありますか?どちらもファイルの内容をシェルに出力するようです。
70 cat 

10
zcatとcatを透過的に結合するツールはありますか?
ログファイルを処理する場合、一部はgzip圧縮されたファイルにlogrotateなりますが、そうでないものもあります。したがって、次のようなことをしようとすると: $ zcat * 次のようなコマンドラインにzcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gzなります: gzip: xyz.log: not in gzip format どのようにfile機能するかに似たマジックバイトを使用し、出力をパイプ処理できるように結果を使用zcatまたはcat依存するツールはありgrepますか? NB:スクリプトを作成できることは知っていますが、既にツールがあるかどうかを尋ねています。

6
タブ区切りの列を出力する簡単なコマンドはありますか?
たとえば、次のようにecho -e "var1\tvar2\t\var3\tvar4" &gt; foo出力されるファイル(で作成)があります。 $ cat foo case elems meshing nlsys uniform 2350 0.076662 2.78 non-conformal 348 0.013332 0.55 scale 318 0.013333 0.44 smarter 504 0.016666 0.64 submodel 360 .009999 0.40 unstruct-quad 640 0.019999 0.80 unstruct-tri 1484 0.01 0.88 私はこのような出力を好むでしょう(ここで私は使用vimしました:set tabstop=14): case elems meshing nlsys uniform 2350 0.076662 2.78 …


4
OS Xでtacコマンドを取得するにはどうすればよいですか?
tacの出力を逆にするのに使いたいですcat。ただし、Mavericksターミナルでは使用できません。MacPortsで見つけようとしましたが、再び利用できません。誰でも私に取得方法を教えてもらえますtacか?ログファイルの読み取りに非常に役立ちます。
59 osx  cat 

18
「少なく」なったときに「猫」を使用する理由はありますか?
以前はcatファイルの表示に使用していました。それから、私はそれlessが通常はより良いことを学びました、そして、ファイルが数十行より長いなら、それは必須です。 私の質問:cat代わりに使用する理由はありlessますか?catより良い解決策がある状況はありますか?
59 less  cat 

2
ヒアドキュメントと猫と組み合わせて出力リダイレクトをどのように使用しますか?
別のコマンドにパイプする、またはファイルにリダイレクトする(sh例のためにパイプする)スクリプトがあるとしましょう。私はbashを使用していると仮定します。 私はそれを使用してそれを行うことができますecho: echo "touch somefile echo foo &gt; somefile" | sh 私もほとんど同じことをすることができますcat: cat &lt;&lt; EOF touch somefile echo foo &gt; somefile EOF しかし、「EOF」を「EOF | sh」に置き換えると、それは単にヒアドキュメントの一部であると考えるだけです。 cat標準入力からテキストを出力し、それを任意の場所にパイプで送るようにするにはどうすればよいですか?

1
猫の助けを借りてファイルの権限を変更する
root@system:~# less myfile -bash: /bin/less: Input/output error ルートファイルシステムが死んでいます。しかし、私の猫はまだ生きています(私の記憶の中で): root@system:~# cat &gt; /tmp/somefile C^d root@system:~# 彼はちょっと寂しいけど、彼の友達は皆なくなった。 root@system:~# mount -bash: /bin/mount: Input/output error root@system:~# dmesg -bash: /bin/dmesg: Input/output error root@system:~# less -bash: /bin/less: Input/output error root@system:~# chmod -bash: /bin/chmod: Input/output error システムはまだ実行中であり、その目的を果たしています。これに対する唯一の正気な対応は、システムをダウンさせてルートドライブを交換することです。残念ながら、これには多くの時間とお金がかかるため、選択肢ではありません。また、それは私の猫を殺し、それは私を悲しませます。 私は彼に彼のいつもの友人をドナーから連れてくることを考えました。sshがそれをロードして行を切断しようとする場合に備えて、私はそれらをscpしようとはしません(バイナリはとにかくなくなっています)。これは私の猫のいとこの仕事のように聞こえます: root@system:~# netcat -l 1234 &gt; /tmp/less -bash: netcat: command …

4
不要な猫を気にする必要がありますか?
多くのコマンドラインユーティリティは、パイプまたはファイル名引数から入力を取得できます。長いシェルスクリプトのcat場合、特に最初のコマンドに複数行の引数が必要な場合は、チェーンを開始すると読みやすくなります。 比較する sed s/bla/blaha/ data \ | grep blah \ | grep -n babla そして cat data \ | sed s/bla/blaha/ \ | grep blah \ | grep -n babla 後者の方法は効率が悪いですか?その場合、スクリプトが実行されるかどうか、たとえば1秒間に1回実行されるかどうかを考慮するのに十分な違いはありますか?読みやすさの違いはそれほど大きくありません。


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