質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Q&A

解決済

2回答

1516閲覧

フォルダサイズの取得がうまくいきません

Nakato

総合スコア11

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

0グッド

1クリップ

投稿2016/02/05 15:40

編集2016/02/05 15:52

cygwin上でシェルスクリプトを実行し、フォルダを7zに圧縮したいです。その時、フォルダの容量が1GB以上の場合は700MBごとに分割をしたいです。
そこで、下記のようにしました。(Cドライブ直下にdateというフォルダがあり、その中にある圧縮したいフォルダをAとしています)

cd /cygdrive/c/date/A SIZE=`du -m` echo "ファイルサイズは${SIZE}MBです" if [ $SIZE -gt 1024 ] ; then echo "ファイルサイズが大きいため分割します" cd /cygdrive/c/date 7z a -v700m A.7z A else echo "分割はされません" cd /cygdrive/c/date 7z a A.7z A fi

しかし、実行してみると下の画像のようになりました。
イメージ説明

画像の2行目にあるスペースの消し方、3行目のエラーの対処法を教えて下さい。
シェルスクリプトの22行目はif [ $SIZE -gt 1024 ] ; thenになっています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SIZEの設定を次のようすればいかが?

sh

1 SIZE=`du -m|awk '{print $1}'`

投稿2016/02/05 23:39

ponnu

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakato

2016/02/06 01:28

ありがとうございます。うまく動作しました。
guest

0

SIZE変数にピリオドが含まれちゃってる気がします

投稿2016/02/05 15:49

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakato

2016/02/05 15:59

ピリオドがついている理由が分からないのです。スペースを消せればピリオドも消せると思ったのですが・・・
otn

2016/02/06 01:47

> ピリオドがついている理由が分からないのです。 duのデフォルト引数が . です。 あと、-s を付けておかないと、サブディレクトリがあるとダメですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問