Hi all.

I'm not subscribed to the list, so please CC to me.

I believe I have located a problem with "csplit". I'm running as a part of a pipe and 
it bombs my script with "pipe memory exhausted". This is the script:

#!/usr/bin/bash

DEF_SIZE=4000
DEF_INPUT="txt/input"
TMP_DIR="/usr/tmp"

output=$1
size=${2:-$DEF_SIZE}
input=${3:-$DEF_INPUT}
out_pref="${output}/`basename ${output}`-"

first="yes"
(
    for file in ${input}/*; do
        if [ ${first} = "yes" ]; then
             cat ${file}
             first="no"
         else
             sed '1d' ${file}
         fi
    done
) | awk -f ${AWK_PRG} -v num_rec=${size} | csplit -k -n 4 -f ${out_pref} - 
"/^===SEPARATOR===$/" "{10000}"

The idea of this script is to take an unordered set of X batch files, all with 
different number of records, and to create a set of batch files with given number of 
records. "awk" script will insert that separator line, which "csplit" catches.

This script works flawlessly on Tru64 UNIX, which has DEC's implementation of "csplit" 
(different from GNU's). The same scripts bombs out on Mandrake 9.1 Linux. I have tried 
compiling the latest "GNU Core-utils 5.0" and using that "csplit", the symptoms 
stopped showing on input where initial batches are smaller, but still beltches on 
large input batches. I have also tried changing the shell (BASh and ZSh), still no go. 
I have tried "csplit" from GNU on Tru64 UNIX and, again, it bombs out.

When I take "csplit" out of the pipe (write to a file and then apply "csplit" on that 
file), everything is OK.

So, the bug has to do with "csplit" and pipes. Any help?

Nix.
_______________________________________________
Bug-coreutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to