使い方

参考:

Bash String Manipulation Examples – Length, Substring, Find and Replace | The Geek Stuff

String Manipulation | Baeldung

Manipulating Strings | Advanced Bash-Scripting Guide

Bash String Processing | Green Flashes

How to increase speed string processing in Bash script? – Stack Overflow

文字列を連結する

パラメータ展開を使う。

hello="Hello"
world="World"
hello_world="$hello, $world"
echo "$hello_world"

printf を使う。

hello="Hello"
world="World"
hello_world=$( printf "%s, %s" "$hello" "$world" )

+= を使う。

str="Hello"
str+=", World"

参考:

文字列の追記演算子の紹介 | それマグで!

String Concatenation | nixCraft

How to Concatenate or Add Strings? | POFTUT

How to Concatenate Two String Variables | TecAdmin.net

How to concatenate string variables – Stack Overflow

How to concatenate string variables into a third? – Unix & Linux Stack Exchange

How to concatenate the following strings? – Ask Ubuntu

How do I concatenate strings? – Super User

How does one concatenate strings? – Quora

文字列を分割する

  • tr コマンドでセパレーターを空白または改行などに置換する。
  • sed コマンドでセパレーターを空白または改行などに置換する。
  • cut コマンドを使う。
  • awk コマンドを使う。
  • Bash の変数展開を使う。
  • read コマンドを使う。
  • 一時的に環境変数 IFS を変更する。

参考:

文字列分解する時、cut や awk もいいけど、set の方が早い、けど read が最強 – Qiita

シェルスクリプトで文字列の分割と結合をする時のベストプラクティス – Qiita

変数を split して配列を作る方法 | 小粋空間

シェルスクリプトで文字列を分割する方法いろいろ | ゲンゾウ用ポストイット

文字列をデリミタ指定して split する | yanor.net/wiki

cut コマンドで区切り文字を指定して分割する方法が便利すぎた! | mikemikeblog

IFS を変えてセミコロンで文字列を分割する | kokoichi206’s Diary

文字列をエスケープ処理する

文字列をエスケープ処理するには、printf コマンドの %q 書式を使用する。

escaped=$( printf "%q" "$str" )Code language: Bash (bash)
使用例
$ echo $( printf "%q" '"$hello, $world\n"' )
\"\$hello\,\ \$world\\n\"

参考:

文字列をエスケープをする – Qiita

ssh などの引数がコマンドとして解釈されるコマンドに文字列を渡す – Qiita

シェルスクリプトでダブルクォーテーションを文字列に含む – Yahoo! 知恵袋

Quoting and Escaping #1 | Cloud 66 blog

How can I escape double quotes in content gotten from file – Server Fault

空文字 (Null String)

空文字と値なしは同じ意味となる。

var=""
var=''
var=Code language: Bash (bash)

参考:

Are the null string and “” the same string? – Unix & Linux Stack Exchange

指定の幅に文字を埋める

参考:

How to pad strings with spaces in a Unix shell script? – Super User

pad end of each line with spaces to = 80 chars ?? – LinuxQuestions.org

前後の空白を取り除く

echo を使う。

$ echo $(cat file.txt | wc -l)

参考:

シェル変数の先頭にあるスペースの除去 | My life is programming

正規表現に一致する部分を取り出す

expr コマンドを使う。

参考:

expr コマンドについてメモ | OpenGroove

expr コマンド | @IT

文字列検索について – teratail

Unicode 文字の ANSI-C クォーティング

\u に4桁のコードポイントを続けて Unicode 文字を表す。

$ echo -e "\u263B"

\U に8桁のコードポイントを続けて Unicode 文字を表す。

$ echo -e "\U0001f603"

ドキュメント:

ANSI-C Quoting | Bash Reference Manual

参考:

Unicode コードポイント表記を出力するシェル芸 | Ryoto’s Blog

シェル上で Unicode 絵文字を表示させる – Qiita

How do you echo a 4-digit Unicode character in Bash? – Stack Overflow

ドキュメント

Manipulating Strings | Advanced Bash-Scripting Guide

Tips

Shell の小ネタ集 | A Memorandum

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA