Bash で文字列から最初の文字を削除する
-
sed
コマンドを使用して Bash の文字列から最初の文字を削除する -
cut
コマンドを使用して Bash の文字列から最初の文字を削除する -
substring
パラメータを使用して Bash の文字列から最初の文字を削除する
これを直接実行できる組み込み関数がないため、Bash で文字列の最初の文字を削除するのは難しい場合があります。 ただし、sed
コマンド、cut
コマンド、または substring
パラメータ展開を使用するなど、これを実現する方法がいくつかあります。
この投稿では、各アプローチを使用して Bash の文字列から最初の文字を削除する方法を確認します。
sed
コマンドを使用して Bash の文字列から最初の文字を削除する
Bash では、sed
コマンドを使用して文字列の最初の文字を削除できます。また、^
(行頭) 正規表現で s
(置換) コマンドを使用できます。 s
コマンドを使用すると、文字列内のパターンを検索し、その文字列を別の文字列に置き換えることができますが、^
正規表現は行頭に一致します。
たとえば、Welcome
という単語を含む my_string
という文字列があり、最初の文字 (文字 W
) を削除したいとします。 sed
コマンドを使用してこれを実現できます。
my_string="Welcome"
new_string=$(echo "$my_string" | sed 's/^.//')
echo "The modified string is: $new_string"
出力:
The modified string is: elcome
上記のコードでは、sed
コマンドを使用してパターン ^.
を検索します。 my_string
変数に入力し、空の文字列に置き換えます。 ^
文字は行頭に一致し、.
文字は行頭に一致します。 character は、任意の 1 文字に一致します。
sed
コマンドは、文字列の最初の文字 W
を削除します。
sed
コマンドの出力は new_string
変数に格納され、echo
コマンドを使用して変更された文字列を出力します。 コードの出力はThe modified string is: elcome
になります。
cut
コマンドを使用して Bash の文字列から最初の文字を削除する
文字列から最初の文字を削除する Bash のもう 1つの方法は、cut
コマンドを使用することです。これにより、文字列から指定された数の文字を抽出できます。 cut
コマンドは文字列を入力として受け取り、指定された文字のみを出力します。
cut
コマンドを使用して文字列の最初の文字を削除するには、-c
オプションを使用して、抽出する文字位置を指定できます。 たとえば、“Hello” という単語を含む同じ my_string
変数があり、最初の文字 (文字 “H”) を削除したいとします。 cut
コマンドを使用してこれを実現できます。
my_string="Hello"
new_string=$(echo "$my_string" | cut -c 2-)
echo "The modified string is: $new_string"
出力:
The modified string is: ello
上記のコードでは、cut
コマンドと -c
オプションを使用して、2 番目の位置 (2
) から文字列の末尾 (-
) までの文字を抽出します。 これは、cut
コマンドが文字列の最初の文字 (この場合は文字 “H”) を削除することを意味します。
cut
コマンドの出力は new_string
変数に格納され、echo
コマンドを使用して変更された文字列を出力します。 コードの出力はThe modified string is: ello
です。
substring
パラメータを使用して Bash の文字列から最初の文字を削除する
最後に、substring
パラメータ展開を使用して、Bash の文字列の最初の文字を削除できます。 この特別な構文により、sed
や cut
などの外部コマンドを使用せずに、Bash スクリプトで直接変数に対して文字列操作操作を実行できます。
substring
パラメーター展開を使用して文字列の最初の文字を削除するには、${string:position}
構文を使用できます。ここで、string
は文字列を含む変数であり、position
は文字列の開始位置です。 抽出する部分文字列。 たとえば、Hello
という単語を含む同じ my_string
変数があり、最初の文字 (文字 H
) を削除したいとします。 substring
パラメータ展開を使用してこれを実現できます。
my_string="Hello"
new_string=${my_string:1}
echo "The modified string is: $new_string"
出力:
The modified string is: ello
上記のコードでは、${my_string:1}
構文を使用して、my_string
変数の 2 番目の位置 (1
) から始まる部分文字列を抽出します。 最初の文字 (文字 H
) は文字列から削除されます。
substring
パラメーター展開の出力は、new_string
変数に格納され、echo
コマンドを使用して変更された文字列を出力します。 コードの出力は、The modified string is: ello
になるはずです。
結論として、sed
コマンド、cut
コマンド、または substring
パラメータ展開を使用するなど、Bash で文字列の最初の文字を削除する方法はいくつかあります。 これらの方法にはそれぞれ長所と短所があり、最良の選択は
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn