変数データの先頭のスペースを削除

変数データの先頭のスペースを削除

可変保存データの先頭にあるスペースを削除する方法を問い合わせたいと思います。MySQL COUNTデータベースからインポートする自動生成スクリプトがあります。

MYSQL COUNT SCRIPT-> .ini file (variable holder / parameters)->report-script

これは、データベースからいくつかのデータを計算するスクリプトがあることを意味します。その後、(.ini)データをテキストファイルに変数として保存し、他のスクリプトがそのファイルを読み取り、変数を見つけます。

以下はdb-count-script.sh私の問題に関する関連コードです。

#!/bin/bash
mysql_count=$(mysql ... -e"USE my_db;SELECT COUNT(*) FROM my_db.sr1 WHERE intime='1';"

echo $mysql_count #This is the output of this echo --> COUNT(*) 15

#from here I'm going to remove the COUNT(*)
cnt=${mysql_count//COUNT(*)}

#storing the data to the variable
echo "db_cnt=\""$cnt"\"" >> db-count.ini

中にはdb-count.iniこんなデータがあります。

db_cnt=" 7"

このように変数を呼び出すスクリプトがあり、後で使用できるように変数のデータを整理する必要があるため、変数のスペースを削除したいと思います。

#!/bin/bash
source db-count.ini
echo "Count:"$db_cnt
#Output 
Count: 7 

どんな提案がありますか?ヒント?

ありがとうございます。

ベストアンサー1

db_cntBashから変数の前のスペースを削除するには、次のようにします。

db_cnt="${db_cnt#"${db_cnt%%[![:space:]]*}"}" 

例:

$ db_cnt=" 7"
$ echo "$db_cnt"
 7
$ db_cnt="${db_cnt#"${db_cnt%%[![:space:]]*}"}"
$ echo "$db_cnt"
7
$

構文を使用して、必要な方法でスクリプトをカスタマイズできます。

おすすめ記事