Mac echo コマンド:
オプション、正規表現など

UB3/informatics/commands_mac/echo_mac

このページの最終更新日: 2021/02/07

  1. 概要: echo とは
  2. echo のオプション一覧
  3. echo で文字列を編集して出力する
    • オフセットと文字数で指定
    • パターン一致で指定

広告

概要: echo とは

プログラミングを習い始める際に、ひょっとしたら一番最初に使うコマンドかもしれない。

echo Hello World!
Hello World!

これは、echo はそのあとに入力された言葉をただ繰り返すだけの無能なコマンドであるという誤解を与えかねない。このページでは、echo の便利な使い方についてまとめる。


echo のオプション一覧

n

文字を出力した後、改行しないようにする。例えば、for loop を使って以下のように出力することができるようになる。

1
1 2
1 2 3

echo -n 出力文字 とする。ただし、このコマンドは bash では使えるが zsh では使えないようなので注意。


広告

echo で文字列を編集して出力する

echo は、出力の前に文字列を編集することができる。まず例を示すために、ABC という名前の変数を作って確認する。名前は ABC だが、中身は abcdefg と 7 つの文字が入っている。

ABC="abcdefg"
echo ${ABC}
abcdefg

なお、ここで echo ABC としてしまうと、変数が展開されずに、単に ABC と表示される。

オフセットと文字数で指定

基本は ${変数:オフセット:長さ} である。

上の変数 ABC を使うと、0:3 で 0 番目から 3 文字分のみを出力する。

ABC="abcdefg"
echo ${ABC:0:3}
abc

長さを指定しない場合は、オフセット位置から全ての文字が出力される。以下の例でわかるように、オフセットを 3 にする場合、3 番目の文字 c は出力に含まれない。

ABC="abcdefg"
echo ${ABC:3}
defg


パターン一致で指定

ファイル名から拡張子を除く際などに便利である。上と同様に、まず FILE という変数に abc.out.txt という文字列を格納して表示してみる。

FILE="abc.out.txt"
echo ${FILE}
abc.out.txt

ここで、右側から文字列を除きたい場合は % で、左側なら # で指定 する。具体的には次のようになる。いくつか例を列挙しておく。

FILE="abc.out.txt"
echo ${FILE%t}
abc.out.tx


echo ${FILE%.txt}
abc.out

ワイルドカード * を使って、.txt に限らず、一番右側のあらゆる拡張子を除くパターン。

echo ${FILE%.*}
abc.out

左側から除きたい場合には、

echo ${FILE#abc.}
out.txt

この場合、ワイルドカードはちょっと使いにくい。なぜか効いていないように見える。

echo ${FILE#a*}
bc.out.txt


広告

References

  1. bashで変数から部分文字列を取得する.Link: Last access 2020/04/28.
  2. echoコマンドの詳細まとめました.Link: Last access 2020/10/12.

コメント欄

各ページのコメント欄を復活させました。スパム対策のため、以下の禁止ワードが含まれるコメントは表示されないように設定しています。レイアウトなどは引き続き改善していきます。「管理人への質問」「フォーラム」へのバナーも引き続きご利用下さい。

禁止ワード: http, the, м (ロシア語のフォントです)


このページにコメント

Name:


Comment:



これまでに投稿されたコメント

Date Name Comment

写真素材無料【写真AC】

新しく写真の提供を始めました。どんどん追加していきますので、こちらから登録後に Ultrabem の写真 をご覧下さい。登録と 1 日 9 枚までのダウンロードは無料です。