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