[解決済み] シェルで文字列の最後の文字を取得する方法は?
2022-05-03 21:29:28
質問
文字列の最後の文字を取得するために、次のような行を書きました。
str=$1
i=$((${#str}-1))
echo ${str:$i:1}
のために動作します。
abcd/
:
$ bash last_ch.sh abcd/
/
それは
には使えません。
abcd*
:
$ bash last_ch.sh abcd*
array.sh assign.sh date.sh dict.sh full_path.sh last_ch.sh
それは 現在のフォルダーにあるファイルを一覧表示します。 .
解決するには?
それが、変数を引用する必要がある理由の一つです。
echo "${str:$i:1}"
そうでない場合は、bashは変数を展開し、この場合はグロビングを行ってからプリントアウトします。また、スクリプトのパラメータを引用符で囲むとよいでしょう(一致するファイル名がある場合に備えて)。
sh lash_ch.sh 'abcde*'
の展開の順番も見てください。 バッシュリファレンスマニュアル . 変数は、ファイル名の展開の前に展開されます。
最後の文字を取得するためには、単に
-1
というのは、負のインデックスは文字列の末尾から数えるからです。
echo "${str: -1}"
コロンの後のスペース(
:
は必須項目です。
この方法は、スペースがないとうまくいきません。
関連
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] シェルで文字列の最後の文字を取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] goで文字列の連結を効率的に行う方法
-
[解決済み] Goでint値をstringに変換する方法は?
-
[解決済み] 余分なスペースを含む複数行の文字列(インデントが保持される)
-
[解決済み】Swiftで文字列を連結する方法は?
-
[解決済み] Python: None を空の文字列に変換する最も慣用的な方法?
-
[解決済み] 変数名が文字列で保存されている場合、変数値を取得する方法は?
-
[解決済み] Goにはstartswith,endswith関数がない?
-
[解決済み] Bashで文字列の最後のx文字にアクセスする
-
[解決済み] シェルで文字列の最後の文字を取得する方法は?
-
[解決済み] 整数から文字列への変換方法を教えてください。