[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:33472] Re: lsbytesum による表示について
-
From:ABE Shin-ichi
-
Date:Wed, 4 Nov 2020 06:49:02 +0900 (JST)
- Subject: [plamo:33472] Re: lsbytesum による表示について
- From: ABE Shin-ichi <shin1.abe@xxxxxxxxx>
- Date: Wed, 4 Nov 2020 06:48:34 +0900
- Dkim-filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com 0A3LmYbL031694
こじまさん、吉澤さん こんにちは。
コメント、アドバイスいただきありがとうございます。
On Wed, 4 Nov 2020 00:01:49 +0900
Takahiro Yoshizawa-san <kuro@xxxxxxxxxxxx> wrote:
> -----------------------------
> #!/bin/bash
> # lsbytesum - sum the number of bytes in a directory listing
> TotalBytes=0
> for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }' | tr -d ',')
> do
> let TotalBytes=$TotalBytes+$Bytes
> done
> TotalMeg=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc)
> echo -n "$TotalMeg"
> -----------------------------
>
> trコマンドで','を取り除いて見たのですが、
> 動いているのかな?
>
結果、うまく動きました。シェル内で引き渡される数値から、trコマンドで意図的にカンマを
取り除いたということですね。勉強になります。
Kojima-san wrote
> このカンマ(,)は、日本語表記時の桁取りなんで、日本語ロケールが原因っぽいですね。
>
> とりあえず、先頭でLANGを"C"にしてやれば何とかなりそう。
>
> --- lsbytesum 2020-11-03 23:38:51.461321540 +0900
> +++ lsbytesum_plamo 2020-11-03 23:38:39.214917650 +0900
> @@ -1,5 +1,6 @@
> #!/bin/bash
> # lsbytesum - sum the number of bytes in a directory listing
> +export LANG="C"
> TotalBytes=0
> for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }')
> do
こじまさんにいただいたアドバイスの修正にても、正常な結果表示が出来ました。
アドバイスありがとうございました。
お二方のコメントを参考に、もっと勉強してみます。
- Follow-Ups
-
- [plamo:33473] Re: lsbytesum による表示について, Takahiro Yoshizawa
- References
-
- [plamo:33469] lsbytesum による表示について, ABE Shin-ichi
- [plamo:33470] Re: lsbytesumによる表示について, KOJIMA Mitsuhiro
- [plamo:33471] Re: lsbytesum による表示について, Takahiro Yoshizawa
[検索ページ]
[メール一覧]
Plamo ML 公開システム