エコの代わりにLinuxで印刷コマンド

エコの代わりにLinuxで印刷コマンド

echolinuxコマンドを使用して端末にメッセージを印刷しました。

prayag@prayag$ echo "prayag works on JVM"
prayag works on JVM

printコマンドを使用して同じ出力を取得できますか?

実際にマニュアルを見てみると、$ man printRun-mailcap-programsと説明されていましたが、以前に聞いたことのない用語でした。 MIMEベースのファイルを開く正しいプログラムを見つけるために使用されることを学びました。

だから何ができますか?簡単なラインを印刷してくださいprint代わりに単独で使用しますかecho

同様の問題を発見Bashスクリプトの変数にテキストファイルの内容を割り当てる必要があります。echoところで、そこに人々がそれを提案しましたprint

フォローしてみましたが、問題が発生しました。

$ print --"text/plain" "prayag works on JVM"
Warning: unknown mime-type for "prayag works on JVM" -- using "application/octet-stream"
Error: no such file "prayag works on JVM"

文書を要求して提供します。

$ print --"text/plain" application.properties 
Warning: unknown mime-type for "application.properties" -- using "application/octet-stream"
Error: no "print" mailcap rules found for type "application/octet-stream"

awkしかし、コマンドと提供されたファイルを組み合わせると

$ awk '{print}' application.properties 
prayag works on JVM

ベストアンサー1

あなたはここで多くを混乱させています。私はあなたのために整理するように努力します。

  1. awk '{print}' ...

    printこれはあなたが質問した質問とは関係ありません。awk独自のコマンドの1つを含む動的プログラミング言語print

  2. print --"text/plain" "prayag works on JVM"そして他の形

    このコマンドは、print画面に文字列を印刷するのではなく、特定のファイルタイプごとに指定された「ハンドラ」を使用してmailcapファイルの内容に基づいてファイルを表示するために使用されます。

    マニュアルページから抜粋した内容を印刷する

    run-mailcap、表示、表示、編集、作成、印刷 - mailcapファイルのエントリを介してプログラムを実行する

    run-mailcap(またはそのエイリアス)は、指定された操作を使用して各MIMEタイプ/ファイルを順番に処理します。各ファイルは、MIMEタイプ、エンコード(圧縮など)、ファイル名をコロンで区切って指定します。 mime-type が省略された場合、ファイル拡張子を mime.types ファイルの拡張子と一致させてタイプを決定しようとします。エンコードを省略すると、ファイル拡張子によって決まります。現在サポートされているエンコーディングは、gzip(.gz)、bzip(.bz)、bzip2(.bz2)、および圧縮(.Z)です。ファイル名「-」は「標準入力」を表すために使用できますが、MIMEタイプを指定する必要があります。

  3. echo

    このコマンドは、echoあなたが使用しているBashというシェルに組み込まれているコマンドです(Bashを使用すると仮定します)。次のコマンドを使用してこれを確認できます。

    $ type -a echo
    echo is a shell builtin
    echo is /bin/echo
    

    echoこのコマンドはスタンドアロンの実行可能ファイルでもあることがわかります/bin/echo。このコマンドは使用しているコマンドとは異なりますが、echo目的は似ています。

  4. printzsh / kshのようなシェルから

    @Gillesのコメントのおかげで、探しているコマンドは、および/またはprintシェルに組み込まれているコマンドである可能性が高くなります。マニュアルページで使用方法を確認できます。zshkshman zshbuiltins

    はい

    zsh % print "hello world"
    hello world
    

    zshまたは、を入力してこれらのシェルのいずれかを実行できますksh

印刷機能

たぶんあなたはコマンドを探していますかprintf

$ printf "%s\n" "hello stringy world"
hello stringy world

$ printf "this is some padded digits: %04d\n" "10"
this is some padded digits: 0010

コマンドは、printf文字列や数字などの表示方法を指示できるように、特殊文字セットとしてフォーマットされています。マニュアルページを参照してくださいprintf

メールキャップ

あまりにも多くの人がこのファイルを忘れてしまった可能性があります/etc/mailcap。ファイルには、MIMEタイプ(ファイルのファイルタイプを識別するファイルヘッダー)が含まれています。その後、mailcapファイルの特定のMIMEタイプを開くために使用するツールを指定するエントリをこのファイルに作成できます。

はい

text/html; /usr/bin/sensible-browser '%s'; description=HTML Text; nametemplate=%s.html
application/x-troff-man; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:-
application/x-ogg; /usr/bin/mplayer '%s'; description="OggVorbis Audio"
application/ogg; /usr/bin/mplayer '%s'; description="OggVorbis Audio"
audio/mpeg; /usr/bin/mplayer '%s'; description="MPEG Audio Format"
audio/x-mpegurl; /usr/bin/mplayer '%s'; description="Icecast Playlists"
audio/x-ms-wax; /usr/bin/mplayer '%s'; description="Audio Format"

上記の行は、mime-typeファイルを取得した場合にaudio/mpegこのツールを使用して/usr/bin/mplayerファイルを開くことを意味します。

mailcapこれらのルールは通常電子メールツールで使用されますが、他のツールでもファイル内のこれらの項目を利用できます。

MIMEタイプまたはmailcapの詳細については、次のリソースを参照してください。

引用する

おすすめ記事