![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| の間では、通常のデータファイルを解凍し、特定のファイルをgzip | thepurple | シェルプログラミングとスクリプティング | 4 | 2007年11月30日 11:17午前 |
| のディレクトリ内のすべてのファイルをgzip | er_ashu | UNIXのダミー質問と回答のため | 2 | 2007年11月6日 09:05午前 |
| 大型のファイルをgzipする必要があります | LordJezo | UNIXのダミー質問と回答のため | 2 | 2005年5月2日 05:18午後 |
| をgzip 、複数のファイルを | smbodnar | UNIXのダミー質問と回答のため | 2 | 2002年11月11日 04:29午後 |
| 2つのファイルをすべて1つのために作成? | Atama | UNIXのダミー質問と回答のため | 1 | 2002年4月12日 05:44午後 |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
||||
|
が作成されるファイルをgzip
こんにちは。私は、私はあなたを助けることを切に願っているスクリプトのクエリは、私は閉口している。 基本的に、私は、作成するためのプロセスを呼び出すkshスクリプトがある Ñ バイナリファイルの番号。これらのファイルは、最大1GBのサイズがあります。そのプロセスを書くことができます Ñ paralellisationパラメータは、スクリプトには、開始時にフィードバックを基に一度(並列運転時のファイルの数) 。通常、私たちを完全に個別に(例えばをgzip *. dmp )のすべてのファイルをgzip 、このプロセスを待つだろう。しかし、私たちまで、すべての1GBのファイルで作成されて待つのに十分なディスクスペースを持っていないいくつかのシステムで。 私は、以前は) 、しかし、私は今並行しながらの最初のプロセスを実行する必要があるそれらをgzipパラレル(下記を参照してください内のファイルをgzipにいくつかのコードを記述している。私は気を付けていないが、現在すべてのファイル(最大にしようとすると書かれているわけをgzipする必要がある Ñ パラレルコマンド)ので、ある種のループが必要となります。と私をgzip並列可能な場合のオプションを維持したい。 コード:
...
gzip_func() {
started=0
threads=4
for filename in `ls -1 ${EXP_DIR}/*.dmp`
do
if [[ ${started} -lt ${threads} ]]; then
let started=started+1
echo "gzip ${filename}"
( $GZIPCMD ${filename} ) &
list_of_pids="${list_of_pids} $!"
else
print "wait ${list_of_pids}"
wait ${list_of_pids}
list_of_pids=""
started=0
fi
done
}
...
my_binary_file_creation_process
...
while [ `find ${EXP_DIR} -name \*.dmp|wc -l` -gt "0" ]; do
gzip_func
print "wait ${list_of_pids}"
wait ${list_of_pids}
list_of_pids=""
done
誰も私8/9/10を使用してこのツールは、 Kornシェルを使用して標準のSolaris用にいくつかのコードを記述することができます。 Perlの コマンド(詩5.6.1をインストール)できるということです。 多くのおかげで、よろしく、 スティーブン。 |