Read / write file exemples


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Read / write file exemples
# 1  
Old 06-24-2012
Wrench Read / write file exemples

hello world, i was looking for exemples for writing ans reading in / from a file, more exactly a text file; and how i'm only at very beagining, if anyone have some exemples very simple, very 'classic' , -with explications- and not hard to undersand . i was wondering that some of you are theacher and meet this problem frequent ,or just you may have some answers near. thank you and scuze my bad english.Smilie
# 2  
Old 06-24-2012
What are you looking to do this in? A shell(i.e. ksh, bash, etc), perl, c, java, etc. from a database(i.e. oracle, db2, etc)?
# 3  
Old 06-25-2012
Quote:
Originally Posted by spacebar
What are you looking to do this in? A shell(i.e. ksh, bash, etc), perl, c, java, etc. from a database(i.e. oracle, db2, etc)?
well , i know how to do it in c , c++ and java and is pretty easy, what i don't undersandd are the shell comandes ,it looks like c but a little more absatract (so far), and therefore i'm looking for exemples with some explanations for comandes
# 4  
Old 06-25-2012
What shell are you using? what is your OS?
# 5  
Old 06-25-2012
Quote:
Originally Posted by vbe
What shell are you using? what is your OS?
linux; now i'm using ubuntu instaled on windows and i sure hope that don't make me any problem

---------- Post updated at 02:28 AM ---------- Previous update was at 02:26 AM ----------

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main(int argc, char *argv[])
{
FILE *out;
int i;
int mutex, empty, full;
char buffer_sir_citit [100];
struct sembuf sem_down, sem_up;



mutex = semget(26, 1, 0666 | IPC_CREAT | O_EXCL);
if (mutex <= 0)
{
if (errno == EEXIST) mutex = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(mutex, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat mutex \n");
return(1);
}
}

empty = semget(35, 1, 0666 | IPC_CREAT | O_EXCL);
if (empty <= 0)
{
if (errno == EEXIST) empty = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(empty, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat empty \n");
return(1);
}
}

full = semget(42, 1, 0666 | IPC_CREAT | O_EXCL);
if (full <= 0)
{
if (errno == EEXIST) full = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 0;
if (semctl(full, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat full \n");
return(1);
}
}


sem_down.sem_num = 0;
sem_down.sem_op = -1; /* P() */
sem_down.sem_flg = SEM_UNDO;

sem_up.sem_num = 0;
sem_up.sem_op = 1; /* P() */
sem_up.sem_flg = SEM_UNDO;

while (1)
{
scanf("%s\n", buffer_sir_citit);
semop(empty, &sem_down, 1);
semop(mutex, &sem_down, 1);
out = fopen("file.out","w");

if (out<0)
{
printf("Nu exista fisierul \n");
exit(1);
}
fprintf(out, "%s\n", buffer_sir_citit);
fclose(out);

semop(mutex, &sem_up, 1);
semop(full, &sem_up, 1);
}


}



#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main()
{

FILE *out;
int i;
int mutex, empty, full;
char buffer_sir_citit [100];
struct sembuf sem_down, sem_up;



mutex = semget(26, 1, 0666 | IPC_CREAT | O_EXCL);
if (mutex <= 0)
{
if (errno == EEXIST) mutex = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(mutex, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat mutex \n");
return(1);
}
}

empty = semget(35, 1, 0666 | IPC_CREAT | O_EXCL);
if (empty <= 0)
{
if (errno == EEXIST) empty = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(empty, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat empty \n");
return(1);
}
}

full = semget(42, 1, 0666 | IPC_CREAT | O_EXCL);
if (full <= 0)
{
if (errno == EEXIST) full = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 0;
if (semctl(full, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat full \n");
return(1);
}
}


sem_down.sem_num = 0;
sem_down.sem_op = -1; /* P() */
sem_down.sem_flg = SEM_UNDO;

sem_up.sem_num = 0;
sem_up.sem_op = 1; /* P() */
sem_up.sem_flg = SEM_UNDO;

while (1)
{
semop(full, &sem_down, 1);
semop(mutex, &sem_down, 1);

out = fopen("file.out","r");

if (out<0)
{
printf("Nu exista fisierul \n");
exit(1);
}

fscanf(out, "%s\n", &buffer_sir_citit);
fclose(out);

semop(mutex, &sem_up, 1);
semop(empty, &sem_up, 1);

printf("%s\n", buffer_sir_citit);
}
}

---------- Post updated at 02:30 AM ---------- Previous update was at 02:28 AM ----------

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
int main(int argc, char *argv[])
{

int s;
struct sembuf sem_b;



s = semget(1356, 1, 0666 | IPC_CREAT);

union semun sem_union;
sem_union.val = 1;
if (semctl(s, 0, SETVAL, sem_union) == -1)
{
printf("Nu exista fisierul \n");
return(1);
}

exit(0);
}


#include<stdlib.h>
#include<stdio.h>

int main(int argc, char *argv[])
{
FILE *out;
int i;

out = fopen("file.out","w");

if (argc>1)
for (i=1; i<argc; i++)
fprintf(out, "%s\n", argv[i]);

fclose(out);

exit(0);
}


#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main(int argc, char *argv[])
{
int fisier;
int i;
int s;
struct sembuf sem_b;



s = semget(1356, 1, 0666 | IPC_CREAT);


sem_b.sem_num = 0;
sem_b.sem_op = -1; /* P() */
sem_b.sem_flg = SEM_UNDO;
if (semop(s, &sem_b, 1) == -1)
{
fprintf(stderr, "semaphore_p failed\n");
return(1);
}


fisier = open("file.out", O_WRONLY);

if (fisier<0)
{
printf("Nu exista fisierul \n");
exit(1);
}

if (argc>1)
for (i=1; i<argc; i++)
{
write(fisier, argv[i], strlen(argv[i]));
write(fisier, "\n", 1);
}

close(fisier);


exit(0);

}Smilie
# 6  
Old 06-25-2012
# 7  
Old 06-25-2012
Not to forget one of our classics:

12 ways to parse a file

I hope this helps.

bakunin
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read/write perl file

Hi I am trying to build a web form where it can take the input from the user and write it to a file. And when I will open that form again that for should read the file that was created at the 1st step and all the fields should auto populate from that file. I have 20 text fields in my form. I... (1 Reply)
Discussion started by: sauravrout
1 Replies

2. Shell Programming and Scripting

Perl write and read on same file

Hi, I am trying to do a write operation followed by a read operation on the same file through Perl, expecting the output produced by read to contain the new lines added, as follows: #! /usr/bin/perl -w open FH, "+< testfile" or die "$@"; print FH "New content added\n"; while (my $line =... (1 Reply)
Discussion started by: royalibrahim
1 Replies

3. Shell Programming and Scripting

Read and write in the file

Hello Guys, How all are doing? I have an issue in Unix and want help from all of you I have a file in UNIX which it read by line by line , If at the end of line '0' is written the it should fetch that line into another file and change '0' to '1' and If at the end of line '1' is written then it... (10 Replies)
Discussion started by: adisky123
10 Replies

4. Shell Programming and Scripting

File Read and Write

I have got a file in following format: AAAAAAA BBBBBBBB CCCCCCC DDDDDDD I am trying to read this file and out put it in following format: AAAAAAA,BBBBBBB,CCCCCCC,DDDDDD Preferred method is shell or Perl. Any help appreciated. (11 Replies)
Discussion started by: Araoki
11 Replies

5. Shell Programming and Scripting

read and write to xml file

hi i am quite new to shell scripting and need help in reading and writing in xml file i have an xml file with format: <main> <store> <name>ABC</name> <flag>0</flag> <size>123<size> </store> <store> <name>DEF</name> ... (2 Replies)
Discussion started by: kichu
2 Replies

6. IP Networking

read/write,write/write lock with smbclient fails

Hi, We have smb client running on two of the linux boxes and smb server on another linux system. During a backup operation which uses smb, read of a file was allowed while write to the same file was going on.Also simultaneous writes to the same file were allowed.Following are the settings in the... (1 Reply)
Discussion started by: swatidas11
1 Replies

7. Shell Programming and Scripting

Read/write file with scripting

Is there any way to write to a text file with scripting? I need to write to a text file two lines of text for the amount of files in the current directory. (9 Replies)
Discussion started by: Fred Goldman
9 Replies

8. UNIX for Dummies Questions & Answers

Write/read to file descriptors

Is it possible to write to file descriptor 0 and read from 1 or 2? How could this be implemented? (3 Replies)
Discussion started by: machshev
3 Replies

9. Shell Programming and Scripting

read and write from a file

I have tried to show the file name whose size is greater than 200 byte in current directory. Please help me. ls -l | tr -s " " " " | cut -f 5,9 -d " " >out.txt #set -a x `cat out.txt` i=0 `cat out.txt` | while do read x echo $x #re=200 j=0 if }" < "200" ] then echo $j j=`expr $j... (2 Replies)
Discussion started by: rinku
2 Replies

10. Shell Programming and Scripting

sed to read and write to very same file

This is likely to be a dumb one. How can I use sed to substitute string occurances having it read from an input file and write to this very same file ? I have a file with lots of occurances of '2006', I want to change it to '2007', but I'd like these changes to be saved on the input file. ... (5 Replies)
Discussion started by: 435 Gavea
5 Replies
Login or Register to Ask a Question