|
duコマンドで、ディスクの使用率をバイトで表示しようと以下の コマンドを実施したのですが、サイズとディレクトリ名との間に 改行が入り、一行で表示できません。 サイズとディレクトリ名を一行で表示し、その後、改行したいの ですがどうすればよいですか。 5295104 . 2594816 ./tmp1 1864704 ./tmp2 821248 ./tmp3 10240 ./tmp4 ↓ 5295104 . 2594816 ./tmp1 1864704 ./tmp2 821248 ./tmp3 10240 ./tmp4 としたいのですが。 du -k $1 | sort -n -r | awk '{ system("echo "$1"*1024 | bc"); printf(" %s\n", $2) }' |
|
>>4017 さいさん > du -k $1 | sort -n -r | awk '{ system("echo "$1"*1024 | bc"); printf(" %s\n", $2) }' 改行コードが余分なわけなので du -k | sort -nr | awk '{ system("echo "$1"*1024 | bc | tr -d \\\\n"); printf(" %s\n", $2) }' du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' とか。 わたしなら「わかりづらい」「無駄なプロセス生成が嫌」という理由から、 du -k | sort -nr | awk '{ printf("%6d %s\n",$1*1024,$2)}' などとします。 |
|
>>4018 68user >du -k | sort -nr | awk '{ printf("%10d %s\n",$1*1024,$2)}' と最初はやっていたのですが、$1に設定されるブロックサイズが大きい と「$1*1024」でオーバーフローを起こし、正しい計算ができないので systemで、bcで計算をするようなことに |
|
>>4017 さいさん >>4018 68user >du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' サーバとかOSのバーションとか記述されてませんでしたけど、 「echo -n」は、依存しませんでしたか。 |
|
>>4107 68user >>4018 68user >du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' shかcshで異なるみたいです。 バークレイ版では、「\c」 エスケープを「-n」オプションで代用することができます。 echo が csh(1) の組み込み関数として用いられている場合には、バークレイ方式に 従っています。 #du -k $1 | sort -nr | awk '{ system("echo `echo "$1"*1024 | bc` \\\\c"); printf(" %s\n", $2) }' で、できました。 |
|
こんにちは kenといいます。 Winsockを使ってネットワークの勉強してまして大変勉強になりました。 ソケットプログラミングを進めていくうちにどうしてもわからない点が発生 したので、もしよろしければとおもいメールしました。 問題はSend()/Recv()でパケットサイズを超えるデータを連続で 送受信させたいのです。 パケットを超える送信をするにはsend()の引数にバッファ、サイズを そのままのっければ、自動でパケットサイズに切り分けて送信してる のを確認しました。ですが、受信終了を示す返り値のlengs=0を受信 できませんでした。どうも送ってないようです。httpサーバーに接続して 受信をためしたのですが、lengs=0を確認でき連続で受信することができました。 recv()での受信lengs:0はシャットダウンを意味するとの記述も見つけたのですが、 shutdown()では送信復帰ができないので、使えません。 パケットサイズを超えるデータを連続で送信し受信する時、 受信データの終了を送信したり、受信するにはどうすればいいので しょうか? サーバーがファイルの終了を示すleng=0を送信するのは なにか命令があるのでしょうか? ソケットをシャットダウンするとleng=0を送信できますが シャットダウンを復帰できないはずですがしてるのでしょうか? よかったらレスお願いしますm(__)m page:homepage3.nifty.com/MIDI-EDITOR/ mail:NQD00781@nifty.com ken |