GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの内容をコマンド「echo」にリダイレクトしますか?

my_file.txtという名前のファイルがあります その内容は文字列Hello 。そのコンテンツをコマンドechoにリダイレクトするにはどうすればよいですか。 ?

lessというコマンドがあることはわかっています 、catmore …でも、echoでやる必要があります 。

私はこれを試しました:

$ cat my_file.txt | echo

そしてこれも:

$ echo < my_file.txt

ただし、どちらの場合も、my_file.txtのコンテンツではなく、stdoutに空白のみが表示されます。

どうすればそれができますか?

承認された回答:

必要なものをすべてechoにリダイレクトできます しかし、それでは何もしません。 echo 標準入力を読み取りません。 引数を標準出力に書き込むだけです。 スペース文字で区切られ、改行文字で終了します(およびechoで終了します いくつかのエスケープシーケンスが展開されている実装や、-で始まる引数 オプションとして扱われる可能性があります。

echoが必要な場合 ファイルのコンテンツを表示するには、そのコンテンツを引数としてechoに渡す必要があります 。次のようなもの:

echo "$(cat my_file.txt)"

$(...)に注意してください 末尾の改行文字を削除しますs そのcatの出力から コマンド、およびecho 1つを追加します 戻る。

zshを除いても注意してください 、コマンドの引数にNUL文字を渡すことはできないため、上記は通常、バイナリファイルでは機能しません。 yash 有効な文字の一部を構成しないバイトも削除されます。

それをしたい理由がechoが欲しいからだとしたら nを展開するには 、b

Linux
  1. ファイルの内容をStdoutに出力するコマンド?

  2. イオリダイレクションとヘッドコマンド?

  3. Sudo Echo「xyz」の出力をファイルにリダイレクトするときに「permissionDenied」を取得しますか?

  1. Linuxでのファイルコマンドの基本的な例

  2. LinuxでのSplitコマンドの9つの便利な例

  3. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?

  1. LinuxでTarコマンドを使用する方法

  2. Echo To File Descriptorはファイルを上書きしますか?

  3. 出力をファイルに追加する方法は?