Linux echo テキスト処理コマンドの使用法と例

Linux echo テキスト処理コマンドの使用法と例

Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラミング言語の print ステートメントと同様に、テキスト行を表示するというものですが、実際にはそれ以上の機能があります。詳細なパラメータの説明を表示するには、man echo を使用できます。

echo コマンドは、指定された文字列を出力するために使用されます。一般的な使用法は次のとおりです。

[root@localhost ~]$ echo # 空行を出力する[root@localhost ~]$ echo "hello world" # 指定した文字列を出力する[root@localhost ~]$ echo $HOSTNAME # 変数名に対応する値を出力する[root@localhost ~]$ echo "hello world" > 1.txt # 指定したファイルに文字列を出力する[root@localhost ~]$ echo `date` # コマンドの実行結果を出力

共通パラメータ:

[root@localhost ~]$ echo -n "hello world" # -n は最後に改行を出力しません。デフォルトでは、最後に改行が出力されます。hello world[root@localhost ~]$

[root@localhost ~]$ echo -e "hello\nworld" # -e はバックスラッシュエスケープを有効にするために使用されます。たとえば、\n は改行文字 hello に変換されます。
世界

[root@localhost ~]$ echo -E "hello\nworld" # -E は、デフォルトでは無効になっているバックスラッシュ エスケープを無効にするために使用されます。

一般的なエスケープ文字:

[root@localhost ~]$ echo -e "hello \\ world" # \\ はバックスラッシュ hello \ world を出力するために使用されます

[root@localhost ~]$ echo -e "\a" # \a は呼び出し音に使用されます。呼び出し音です。[root@localhost ~]$ echo -e "hello\bworld" # \b はバックスペースに使用されます。参考: https://blog.csdn.net/lucosax/article/details/34963593
地獄の世界

[root@localhost ~]$ echo -e "hello \c world" # このエスケープ文字を使用すると、\c の後の文字は hello を出力しなくなります。 

[root@localhost ~]$ echo -e "\e[32;1m hello world \e[35;1m" # \eはフォントと背景色を制御するために使用されます hello world 

[root@localhost ~]$ echo -e "hello \f hello \f hello" # \f は新しい行で、カーソルは新しい行の後の元の場所で停止します hello 
    こんにちは
       こんにちは

[root@localhost ~]$ echo -e "hello\nworld" # \n 改行文字 hello
世界

[root@localhost ~]$ echo -e "hello\rworld" # \r はカーソルを行頭に移動するために使用され、これは \r の前の文字を削除し、 \r world の後の文字のみを出力することと同じです。

[root@localhost ~]$ echo -e "hello\tworld" # \t Tab 文字、キーボードの Tab キーに相当 hello world

[root@localhost ~]$ echo -e "hello\vworld" # \v 垂直タブ hello
   世界

エコー出力色:

構文: echo -e "\033[フォント背景色; フォント色 m 文字列\033[0m"
例: echo -e "\033[41;36m something here \033[0m"
説明: 41 番目の位置はフォントの背景色を表し、36 番目の位置はフォントの色を表します。

// 色付きフォントを出力 echo -e "\033[30m 黒フォント\033[0m"
echo -e "\033[31m 赤い単語\033[0m"
echo -e "\033[32m 緑の単語\033[0m"
echo -e "\033[33m 黄色のテキスト\033[0m"
echo -e "\033[34m 青い単語\033[0m"
echo -e "\033[35m 紫色のテキスト\033[0m"
echo -e "\033[36m 空色の単語\033[0m"
echo -e "\033[37m 白い単語\033[0m"
// 背景色付きフォントを出力 echo -e "\033[40;37m 黒背景白テキスト\033[0m"
echo -e "\033[41;37m 赤い背景に白い文字\033[0m"
echo -e "\033[42;37m 緑の背景に白い文字\033[0m"
echo -e "\033[43;37m 黄色の背景、白いテキスト\033[0m"
echo -e "\033[44;37m 青い背景、白いテキスト\033[0m"
echo -e "\033[45;37m 紫色の背景、白いテキスト\033[0m"
echo -e "\033[46;37m スカイブルーの背景に白い文字\033[0m"
echo -e "\033[47;30m 白の背景に黒のテキスト\033[0m"
//その他のプロパティ\33[0m すべてのプロパティをオフにする\33[1m 高輝度に設定する\33[4m 下線\33[5m 点滅\33[7m 表示を反転する\33[8m 非表示\33[30m — \33[37m 前景色を設定する\33[40m — \33[47m 背景色を設定する\33[nA カーソルを n 行上に移動する\33[nB カーソルを n 行下に移動する\33[nC カーソルを n 行右に移動する\33[nD カーソルを n 行左に移動する\33[y;xH カーソルの位置を設定する\33[2J 画面をクリアする\33[K カーソルから行末までの内容をクリアする\33[s カーソルの位置を保存する\33[u カーソルの位置を復元する\33[?25l カーソルを非表示にする\33[?25h カーソルを表示する

例1: テキスト行を表示する。特殊文字はエスケープされない。

[root@aliyun-hk1 linux-shell-test]# echo hello\nworld
ヘロンワールド
[root@aliyun-hk1 linux-shell-test]# echo 'hello\nworld'
こんにちは\n世界
[root@aliyun-hk1 linux-shell-test]# エコーhello world
こんにちは世界
[root@aliyun-hk1 linux-shell-test]#

例2: 末尾の改行文字を出力せずにテキスト行を表示する

[root@aliyun-hk1 linux-shell-test]# echo -n hello world
hello world[root@aliyun-hk1 linux-shell-test]# echo hello world
こんにちは世界

例3: バックスラッシュの後のエスケープ文字を有効にしてテキスト行を表示する

[root@aliyun-hk1 linux-shell-test]# echo -e 'hello\nworld'
こんにちは
世界
[root@aliyun-hk1 linux-shell-test]# echo -e 'hello\tworld'
こんにちは世界

例4: テキスト行を表示し、バックスラッシュの後のエスケープ文字を無効にし、デフォルトのパラメータをエコーする

[root@aliyun-hk1 linux-shell-test]# echo -E 'hello\nworld'
こんにちは\n世界
[root@aliyun-hk1 linux-shell-test]# echo -E 'hello\tworld'
こんにちは

例 5: echo と cat の違いの比較。echo はテキストの出力にのみ使用されますが、cat はファイルの内容の出力や標準入力からの出力に使用されます。

[root@aliyun-hk1 linux-shell-test]# エコーhello
こんにちは
[root@aliyun-hk1 linux-shell-test]# 猫こんにちは
cat: hello: そのようなファイルまたはディレクトリはありません
[root@aliyun-hk1 linux-shell-test]# echo /etc/hostname
/etc/ホスト名
[root@aliyun-hk1 linux-shell-test]# cat /etc/hostname
アリユン-hk1
[root@aliyun-hk1 linux-shell-test]# echo hello|cat
こんにちは
[root@aliyun-hk1 linux-shell-test]#

例 6:自動構築における echo の役割。たとえば、DB で返されたデータを Ansible に必要なデータにフォーマットし、with_lines を介してタスクに渡して、ループで使用することができます。場合によっては、ネットワークや DB などから取得した標準出力を echo と awk および grep を組み合わせてフォーマットまたはクリーンアップし、後続のスクリプトで使用することができます。

[root@aliyun-hk1 linux-shell-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'
名前 電話番号 住所
ロビン 13712345678 CN
トム 13812345678 香港
[root@aliyun-hk1 linux-shell-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}'
ロビン
トム
- 名前: DBからアイテムを表示
   デバッグ:
    メッセージ: "{{ item }}"
   with_lines: "echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}'
​
TASK [DB からアイテムを表示] ************************************************************************************************************************************************************************************************************************************************************************************ ok: [localhost] => (item=robin) => {
  「メッセージ」: 「ロビン」
}
わかりました: [localhost] => (item=tom) => {
  「メッセージ」: 「トム」
}

例 7: echo は、取得してフォーマットしたデータをファイルに書き込んで、後で使用することもできます。

[root@aliyun-hk1 ansible-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}' > DataFromDB1.txt
[root@aliyun-hk1 ansible-test]# cat DataFromDB1.txt
ロビン
トム
[root@aliyun-hk1 ansible-test]#

Linux echo テキスト処理コマンドの使い方と例についてはこれで終わりです。Linux echo コマンドに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux echoコマンドの使い方と3つの実装方法
  • Linux echo コマンドと Linux echo コマンドの権限不足の問題の解決方法
  • Linuxでechoコマンドを使用する方法

<<:  Mysql general_log をクリーンアップする方法の概要

>>:  非常に詳細な Vue-Router のステップバイステップのチュートリアル

推薦する

JavaScript配列についてさらに詳しく知るのに役立つ記事

目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...

Navicat 経由で MySQL にリモート接続する方法

Navicat を使用して IP 経由で直接接続すると、次のようなさまざまなエラーが報告されます: ...

MySQL で lower_case_table_names を記録する際の落とし穴の詳細な説明

1 原因プロジェクトがデータベースを移行して再起動した後、「T_AAAテーブルが存在しません」という...

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...

CSS3 transition-delay属性のデフォルト値が単位なしの0であり無効である問題を解決します

今日は、CSS3 の transition-delay 属性のデフォルト値 0 に単位がないのは無効...

MySQLの認可コマンド grant の使い方のまとめ

MySQL 認証コマンド grant の使用方法:この記事の例は MySQL 5.0 以降で実行され...

MySQL データベース操作 (作成、選択、削除)

MySQL データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

CocosCreatorゲームにおける魚群アルゴリズムの詳細な説明

序文最近CocosCreatorを学びたいと思ったので、エディターをダウンロードして起動しました。誰...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

iframeを使用してページを呼び出すとページがキャッシュされるかどうかの簡単な分析

最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...

シンプルなフロントエンドのページング効果を実現する js

比較的シンプルな業務のプロジェクトもありますが、フロントエンドのページングを多用します。プラグインの...

Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル

yum か rpm か? yum によるインストール方法は非常に便利ですが、公式サイトから MySQ...

DockerにMySQL 8.0をインストールする方法

環境: MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0....

Youku 動画から 30 秒の広告コードを削除する 2 つの方法

誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...

Win10 での MySQL 8.0.16 のインストールと設定のチュートリアル

1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...