Androidのシェルを使用してスクリプトを作成し、特定の拡張子のすべてのファイルの名前を変更して.bak拡張子を追加し、別のファイルの名前を変更して.bak拡張子を削除しようとしています。
これは、ディレクトリ内のすべてのpdfファイルに.bak拡張子を追加するために機能します
ext=.bak
for f in *.pdf
do
mv $f $f$ext
done
しかし、使用しているbash文字列のスライス${varname:index:length}
はAndroidシェルでは機能しないため、拡張機能を削除する方法がわかりません。誰かアイデアはありますか?
編集:明確にするために、私はアンドロイドシェルで文字列の最後の4文字を削除する方法を見つけようとしています。私の特定の問題を解決する、私が検討していない他の解決策も歓迎します。
更新:与えられた回答に基づいて、次のコードは、変更されていないAndroidシェルの現在のディレクトリにあるその拡張子を持つファイルからファイル拡張子を削除します(.bakは選択した拡張子に置き換えることができます)
for f in *.bak
do
mv $f ${f%.*}
done