猫:それは猫ではなく、連結器です

キティ

まあ、 猫プログラム これはおそらくLinuxシェルで最も使用されているもののXNUMXつです。 それは非常に基本的ですが、非常に実用的でもあります。 最も単純で最も基本的なツールが、有用性の点で最も強力な場合もあります。 その名前はconCATenateに由来しているので、この記事に付けることにしたタイトルは、まだ知らない人のために説明しようと思います。

基本的に、連結子はその名前が示すものを超えており、連結するだけでなく、 テキストファイルの内容を表示し、 パイプと組み合わせると、さらに強力になり、さまざまな用途に使用できます。 そして、この記事のこれらすべての基本的なユーティリティを実際の例とともに要約して、より直感的な方法でそれを見ることができるようにします...

ファイルの内容を表示するだけです、次のコマンドを使用できます。

cat nombre_archivo

cat /etc/passwd

画面に表示されます。 暗号化されたファイルまたはバイナリの場合、あまり意味のない奇妙な文字や記号が表示されていることがわかります。

あなたもできます 出力で複数の連結ファイルの内容を表示する、したがってその名前:

cat nombre_archivo

cat /etc/passwd /etc/passwd- /etc/hosts

触れる別の代替の可能性は catを使用してファイルを作成する:

cat > ejemplo.txt

これにより、作成したファイルに含めるすべてのテキストを入力したり、空のままにしたりできる一種のエディターがインタラクティブに開きます。 必要なものを入力し終えたら、を押すだけです Ctrlキー+ D 外出する。

その場合 ファイルの内容が長くなる可能性があります そして、あなたはそのナビゲーションと読書を容易にすることを好みます、あなたはそれのためにますます使用することができます:

cat manual.txt | more
cat manual.txt | less

これにより、表示されたテキストのナビゲートがはるかに簡単になります。 ちなみに、 終了プレスQ 人と同じように、など。

開発者にとって非常に興味深いs行番号を表示。 catにファイルの内容の行に番号を付けたい場合は、nオプションを使用します。 ファイルの内容は変更されず、出力に数字のみが表示されます。

cat -n codigo.c 

ちなみに 番号付きのテキストを保存したい場合 画面に表示されているように、リダイレクトを使用して行うことができます。 例えば:

ファイルの内容を表示するだけです、次のコマンドを使用できます。

cat -n codico.c > numerado.txt

>であなたがすることはsであることを忘れないでくださいコンテンツを利用する この場合、numbered.txtのつまり、存在しない場合はコンテンツを使用して作成されますが、すでに存在する場合は、以前に存在していたものが削除され、新しいコンテンツが保存されます。 上記を削除して最後にコンテンツを追加しないようにするには、>の代わりに>>を使用します。

-nオプションの欠点は、すべての行に番号が付けられることです。 でももしあなたが欲しければ 空のものに番号が付けられないようにします。 -bを使用できます:

cat -b /etc/hosts

もちろん、すべてのオプションを使用して、パイプやリダイレクトを使用して目標到達プロセスのコンテンツなどにリダイレクトできます。 そして、私はあなたがもっと学ぶために猫の男を読むことをお勧めします。 EoL(行末)を$に置き換える-e、タブの-T、空の繰り返し行を抑制する-sなどのオプションがあります。

これまで、表示されている文字は単純に表示されていましたが、表示されていない他の多くの非表示の文字もあります。 それらを表示するには、vフラグを使用します。

cat -v demo.odt

あなたはそれを使用することができます ファイルの内容を削除し、空のままにします。 そのためには、次のように特別なデバイス/ dev / nullを使用できます。

cat /dev/null | demo.txt

この場合の内容 / dev / null nullであり、パイプラインを介してdemo.txtテキストファイルにリダイレクトされます。 つまり、demo.txtはnullコンテンツで埋められます。つまり、削除されます。

この他のものを使用してできるようにすることもできます EOLと入力するまでシーケンスを入力します 閉じます。つまり、好きなように書くことができる一種のエディターとして開きます。 明らかに、そのように、それは役に立たないが、例えば、あなたはすべてを書いてそれをファイルに保存することができる:

cat << EOL > hola

基本的に<<は、ラベル(この場合はEOL)を入力するまで文字列を入力することをシェルに通知します。これは、最後に到達したことを示します。 STOPの代わりにEOLを使用することも、好きなように使用することもできます。

また、異種システムで作業している場合は、Dワールドのテキストファイルに気付いたかもしれません。OS / Windowsは、UNIX / Linux以外の行末文字を使用します、そのため、いずれかのシステムでファイルを表示しようとすると、テキストの位置がずれる可能性があります。 *ではnixLFは行を終了するために使用され、DOS / WindowsではCR / LFが使用されます。 これを解決するために、DOS / WindowsからUnixに変換するdos2unixと、その逆のunix2dosのXNUMXつのツールがあります。 ただし、インストールしたくない場合は、次のようにcatを使用できます。

cat dos.txt | sed "s/^M\{1,\}$//" | sed "$ s/^Z//" > archivo_convertido.txt

cat unix.txt | sed "s/$/^M/" | sed "$ s/$/^Z/" > archivo_convertido.txt

ご覧のように、 猫の利益は多い。 そのシンプルさにもかかわらず、それはあなたが多くのことをすることを可能にします。 また、ここで見たものはすべてだけではありません。 あなたはそれがあなたに役立つことができる他の多くのユーティリティと新しいものを想像することができます。 マニュアルで詳細を読むことを忘れないでください:

man cat


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。