Re: split a file or return shell variable to a program

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



here's another way to do it (just with bash):

counter=1
while read line
do
if [ -z $line ] ; then continue
else
echo $line > $counter
counter=`expr $counter + 1`
fi
done < your_sentences_file



On 2004.04.22 22:03, Glynn Clements wrote:

vick Julius wrote:


> I have a text file I want to split. The file contains some
sentences.
> between sentences I have empty 1 line. I want to split this file and
put
> each sentence in a separate file with names 1, 2,3 ...
> do you have any idea to split it such as with awk or split?

You can't do it with split; that only handles the case where each
contains a fixed number of bytes or lines.

You can do it with awk easily enough, e.g.:

#!/usr/bin/awk -f
BEGIN {
ofile = 0;
}
/^ *$/ {
close(ofile);
ofile++;
}
/[^ ]/ {
print > ofile;
}


> Here is my strategy:
>
> I wrote a C program in which I call bash shell script to increment a

> variable...
>
> In the shell I defined the variable k such as:
> $export k=1
> in my bash script file,myFile,  for testing, I put
> echo $k
> let k+=1
> (or this expression k=`expr $k + 1`)
> echo $k
>
> when I run this script file, it gives me
> 1
> 2
>
> the problem is when I called form a C or C++ program, such
> system("echo $k");
> //this gives 1
> system("./myFile");
> // this display
> // 1
> //2
> system("echo $k");
> //here the problem, it display 1 not 2
>
> I want to have the incremented value for k, i.e 2 not the original
one.

Each process has its own set of environment variables. A process can
modify its own environment variables, but not those of another
process.

If you want to share state between processes, use a file.

--
Glynn Clements <glynn.clements@xxxxxxxxxx>
-
: send the line "unsubscribe linux-
admin"
in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


-
: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Newbie]     [Audio]     [Hams]     [Kernel Newbies]     [Util Linux NG]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Device Drivers]     [Samba]     [Video 4 Linux]     [Git]     [Fedora Users]

  Powered by Linux