Help regarding files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help regarding files
# 1  
Old 09-04-2009
Help regarding files

Hi,

I want my script to get the updated lines from a file to another file for each time the script runs.

EX: file1 will be updated time to time(no particular interval can determined, it can update at any time). In my script i want to run a command so that everytime the script runs, it should get the updated lines to a tmp file. If there are no updates, no tmp file should be created.

My script runs every 30 mins.

Could any one guide me so that i'd start this?


Cheers,
Sai
# 2  
Old 09-04-2009
one idea: ( not tested)

Code:
tmpfile=file.tmp
sourcefile=file.main
 
lc_main=$(wc -l file.main | awk '{print $1}')
lc_tmp=$(wc -l file.tmp | awk '{print $1}')
 
 
lc_diff=$(echo "$lc_main-$lc_tmp" | bc)
 
tail +${lc_diff} $sourcefile >> $tmpfile

# 3  
Old 09-04-2009
You can try wat Anchal has suggested
# 4  
Old 09-04-2009
hi Sai,

Put below code in your script and check.
suppose OLD_FILe is a file which you are going to update.

cp -i OLD_FILe Newfile
###after updation of OLD_FILe#####
diff OLD_FILe Newfile >tempfile

VARIABLE=`cat tempfile|wc -l`
if [ "$VARIABLE" -eq 0 ]
then
echo "No changes"
rm -F tempfile
fi
cat tempfile
rm -F Newfile
___________________________________________________
I am new to UNIX programming but i thiknk this should work.
# 5  
Old 09-04-2009
Thanks for the replies.
@anchal: The code gets the diff of lines(say n lines) but tail will not print all the n lines but it will print the nth line. Rest of the things are good and i am working on this.

@sam: Many thanks for the reply. I feel some editing work needs to be done after the diff command. However, i will try to implement this too.

Cheers,
Sai

---------- Post updated at 08:43 AM ---------- Previous update was at 07:07 AM ----------

Hi anchal...

I have modified your code and tried to get through this - by the end of script i will be with a file which contains only modified lines.

Code:
#!/bin/bash
tmpfile=file.tmp
sourcefile=file.main
tmpfile1=file1.tmp
 
rm -f $tmpfile1
 
lc_main=$(wc -l file.main | awk '{print $1}')
lc_tmp=$(wc -l file.tmp | awk '{print $1}')
 
lc_diff=$(echo "$lc_main-$lc_tmp" | bc)
lc_diff1=$(echo "$lc_main-$lc_diff" | bc)
 
#lc_mdiff=$(echo "$lc_diff+$lc_diff1" | bc)
 
i=1
sed "${i},${lc_diff1}d" $sourcefile >> $tmpfile
sed "${i},${lc_diff1}d" $sourcefile > $tmpfile1
 
#tail +${lc_diff} $sourcefile >> $tmpfile

From the above code, for the each run of the script there will be a file(tmpfile1 in script) with ONLY latest updates.
I'd be happy to receive some more ideas regarding this, which would make my task more easier and perfect.

Looking forward for more help!!!
Sai
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Automate splitting of files , scp files as each split completes and combine files on target server

i use the split command to split a one terabyte backup file into 10 chunks of 100 GB each. The files are split one after the other. While the files is being split, I will like to scp the files one after the other as soon as the previous one completes, from server A to Server B. Then on server B ,... (2 Replies)
Discussion started by: malaika
2 Replies

2. Shell Programming and Scripting

Shell script for field wise record count for different Files .csv files

Hi, Very good wishes to all! Please help to provide the shell script for generating the record counts in filed wise from the .csv file My question: Source file: Field1 Field2 Field3 abc 12f sLm 1234 hjd 12d Hyd 34 Chn My target file should generate the .csv file with the... (14 Replies)
Discussion started by: Kirands
14 Replies

3. Shell Programming and Scripting

Append string to all the files inside a directory excluding subdirectories and .zip files

Hii, Could someone help me to append string to the starting of all the filenames inside a directory but it should exclude .zip files and subdirectories. Eg. file1: test1.log file2: test2.log file3 test.zip After running the script file1: string_test1.log file2: string_test2.log file3:... (4 Replies)
Discussion started by: Ravi Kishore
4 Replies

4. Shell Programming and Scripting

How to create zip/gz/tar files for if the files are older than particular days in UNIX or Linux?

I need a script file for backup (zip or tar or gz) of old log files in our unix server (causing the space problem). Could you please help me to create the zip or gz files for each log files in current directory and sub-directories also? I found one command which is to create gz file for the... (4 Replies)
Discussion started by: Mallikgm
4 Replies

5. Shell Programming and Scripting

need a shell script to extract the files from source file and check whether those files existonserve

Hi, I am new to shell scripting.Please help me on this.I am using solaris 10 OS and shell i am using is # echo $0 -sh My requirement is i have source file say makefile.I need to extract files with extensions (.c |.cxx |.h |.hxx |.sc) from the makefile.after doing so i need to check whether... (13 Replies)
Discussion started by: muraliinfy04
13 Replies

6. UNIX for Dummies Questions & Answers

write a program in c in unix that display the files(includ sub-direc and files within) in a sorted

the sorting is based on name of file, file size modification time stamps o f file it should dislay the output in the following format "." and ".." enteries should be ignored please give some idea how to do it (1 Reply)
Discussion started by: pappu kumar jha
1 Replies

7. Shell Programming and Scripting

How to extract data from indexed files (ISAM files) maintained in an unix server.

Hi, Could someone please assist on a quick way of How to extract data from indexed files (ISAM files) maintained in an UNIX(AIX) server.The file data needs to be extracted in flat text file or CSV or excel format . Usually we have programs in microfocus COBOL to extract data, but would like... (2 Replies)
Discussion started by: devina
2 Replies

8. Shell Programming and Scripting

How to retrieve all the linked script files/ctl files/sql files?

Hi I am going to migrate our datawarehouse system from HP Tru 64 Unix to the Red Hat Linux. Inside the box, it is running around 40 cron jobs; inside each cron job, it is calling other shell script files, and the shell script files may again call other shell script files or ctl files(for... (1 Reply)
Discussion started by: franksubramania
1 Replies

9. Shell Programming and Scripting

Merge files of differrent size with one field common in both files using awk

hi, i am facing a problem in merging two files using awk, the problem is as stated below, file1: A|B|C|D|E|F|G|H|I|1 M|N|O|P|Q|R|S|T|U|2 AA|BB|CC|DD|EE|FF|GG|HH|II|1 .... .... .... file2 : 1|Mn|op|qr (2 Replies)
Discussion started by: shashi1982
2 Replies
Login or Register to Ask a Question