Append Files


 
Thread Tools Search this Thread
# 1  
Append Files

Hi All,

I have to append 2 lines at the end of a text file. If those 2 lines are already there then do not append else append the 2 lines to the text file.

Eg: I have a text file, file.txt

This text file might look like this,

/home/kp/make.jsp
/home/pk/model.jsp

I have to append these 2 lines /home/kk/file1.txt and /home/kk1/file2.txt at the end of file.txt.

Appended file looks like this,

file.txt:

/home/kp/make.jsp
/home/pk/model.jsp
home/kk/file1.txt
/home/kk1/file2.txt

The script has to check if file.txt has those lines /home/kk/file1.txt and /home/kk1/file2.txt before appending them at the end of the text file file.txt.

if the 2 lines already there in file.txt then the script should not append the 2 lines.

can someone please tell me how can I do this using korn shell.

Thanks
pavan
# 2  
One can use tail and head to get the last two lines from a file:

Code:
 
one_before_last=$( tail -2 my_input|head -1 )
the_last_line=$(tail -1 my_input)

To determine if the line is present one can use grep -q - it will return 1 if not found, which can be used with
Code:
||

construct

To put it together one can do something like this:

Code:
 
#!/bin/ksh
input_file_1="your-name-here"
input_file_2="yeor-name-here"
my_output_file="your-name-here"
F1N1=$(tail -2 $input_file_1|head -1)
F1N2=$(tail -1 $input_file_1)
F2N1=$(tail -2 $input_file_2|head -1)
F2N2=$(tail -1 $input_file_2)
grep -q "$F1N1" $my_output_file || echo "$F1N1" >> $my_output_file
grep -q "$F1N2" $my_output_file || echo "$F1N2" >> $my_output_file
grep -q "$F2N1" $my_output_file || echo "$F2N1" >> $my_output_file
grep -q "$F2N2" $my_output_file || echo "$F2N2" >> $my_output_file

Hope this will give you an idea.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to append two fasta files?

I have two fasta files as shown below, File:1 >Contig_1:90600-91187 AAGGCCATCAAGGACGTGGATGAGGTCGTCAAGGGCAAGGAACAGGAATTGATGACGGTC >Contig_98:35323-35886 GACGAAGCGCTCGCCAAGGCCGAAGAAGAAGGCCTGGATCTGGTCGAAATCCAGCCGCAG >Contig_24:26615-28387... (11 Replies)
Discussion started by: dineshkumarsrk
11 Replies

2. 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

3. Shell Programming and Scripting

Unzip all the files with subdirectories present and append a part of string from the main .zip files

Hi frnds, My requirement is I have a zip file with name say eg: test_ABC_UH_ccde2a_awdeaea_20150422.zip within that there are subdirectories on each directory we again have .zip files and in that we have files like mama20150422.gz and so on. Iam in need of a bash script so that it unzips... (0 Replies)
Discussion started by: Ravi Kishore
0 Replies

4. Shell Programming and Scripting

append to two files

I tried to write a script ( not working) to append first value from mylist to a file called my myfirstResult and to another called mysecondResult awk ' {print $1} >> myfirsResult ' < mylist awk ' {print $1} >> mysecondResult ' < mylist $ cat mylist A 02/16/2012 B 02/19/2012 C... (3 Replies)
Discussion started by: Sara_84
3 Replies

5. UNIX for Dummies Questions & Answers

Append logs to files,

i want to collect new logs only from a existing logfile and the new logs should be written both existing logfile and a new file.. which command i have to use for this. Regards Vijay, (0 Replies)
Discussion started by: vijayq8
0 Replies

6. Shell Programming and Scripting

Append all files in a folder

Hi All, I have directory in which I have around 50 files with filename as: abcs_1 afaa_2 asda_3 agfa_4 . . sada_50 I want to append all files in sada_50 i.e first ssdd_49 in sada_50. Then append asda_48 in (ssdd_49 in sada_50). As number of files are more I do not feel like... (7 Replies)
Discussion started by: pandeyak
7 Replies

7. Shell Programming and Scripting

MV all files and append date

All, I am trying to setup a command that will mv all files in a directory to another location and append a filedate. for example: mv * /location/*'date %y%m%d' Any help? (2 Replies)
Discussion started by: markdjones82
2 Replies

8. UNIX for Dummies Questions & Answers

append files as columns

Hi, I will rephrase my question. I have two files: q16 1.341E+05 wf8 3.084E+02 total1 1.344E+05 ud35 5.694E+03 us38 9.367E+05 ya23r 9.414E+02 up23s 2.403E+04 io240 1.203E+04 q16 1.341E+05 wf8 3.084E+02 total1 1.344E+05 ud35 5.694E+03 us38 9.367E+05 (2 Replies)
Discussion started by: f_o_555
2 Replies

9. UNIX for Dummies Questions & Answers

append two files

Hi, I have two files where 1 contains data and the other contains strings eg file 1 -0.00000 0.00000 0.00000 0.00000 0.00000 0.80000 0.50000 0.50000 0.60000 0.50000 0.50000 0.20000 -0.00000 0.00000 0.40000 file 2 F F F F F F T T T T T T T T T How to I append file2 to file 1 to... (1 Reply)
Discussion started by: princessotes
1 Replies

10. Shell Programming and Scripting

How to append copyright to all files?

I have one file that contain copyright notice, that I would like to append to all files in our directory structure (excluding binaries). How can I do that? Thanks for your help! (3 Replies)
Discussion started by: SiftinDotCom
3 Replies

Featured Tech Videos