別のファイルがあると仮定すると、
script.sh
text.txt
pic_1.png
または拡張子のないファイル - 'hello'。基本ファイル名の最後の文字を抽出するには?つまり、
script. sh - t
text.txt - t
pic_1.png - p
hello - o
これを行う簡単な方法はありますか?
答え1
まず、拡張機能(存在する場合)を削除します。
name_no_ext=${file%.*}
その後、最後の文字を取得します。
char=${name_no_ext: -1} #note the space after colon
Bashの文字列操作について詳しく知りたい場合は、Parameter Expansion
Bashマニュアルのセクションを参照してください。
答え2
フロント:
for w in script.sh text.txt pic_1.png; do
w=${w%.*}
all_but_last_char=${w%?}
w=${w##"$all_but_last_char"}
printf '%s\n' "$w"
done
などの一部のシェルでは、Unicode文字では機能しませんmksh
。dash