Sponsored Content
Top Forums Shell Programming and Scripting automate editing of a template Post 302667065 by Corona688 on Thursday 5th of July 2012 02:27:29 PM
Old 07-05-2012
It's fairly simple once you know what the special variables are. FILENAME is a special variable meaning the current file being read by awk. FNR is a special variable meaning 'line number', relative to the current file. (NR would be the total number of lines from all files processed so far.) $0 is the current line.

arr is just an array with strings being put in it for each line. Once the second file gets read, it substitutes strings from that array into the lines being read, then prints them back out.

Code:
awk '
# For each line, test whether the current FILENAME is file1.
# When it is, store arr[line number]=line.
# Then skip to the next line.
FILENAME=="file1" {arr[FNR]=$0; next}

# For each line, test whether the current FILENAME is file2.
# When it is, substitute arr[line number] for @tag@, then print.
FILENAME=="file2" {sub("@tag@", arr[FNR], $0);  print}' file1 file2 > file3

 

6 More Discussions You Might Find Interesting

1. Programming

About template constraints

Hi, i have class template, 1)can i override the copy constructor 2)can we have virtual function in class template if not plz tel why? I tried , compile error comes for me... Thanks Sarwan (0 Replies)
Discussion started by: sarwan
0 Replies

2. Programming

Template problem ...

Hi all, Need your help. I am doing a simple template program , getting some error ... here is the code #include <iostream> #include <stdio.h> #include <stdlib.h> #include<iostream> #include<string> #include <sstream> using namespace std; class Base_class { public: Base_class(){... (1 Reply)
Discussion started by: amartya_sock
1 Replies

3. Shell Programming and Scripting

Help with template like solution

hi experts, i'm trying to do this: file1 is a template. might have kinds of 'funny' characters. sample: <body> <form> <p><input type="text" name="abc"/></p> &nbsp; <p><my_content></p> </form> </body> file2 is a file that contains lots of text. this might be very big. might have... (2 Replies)
Discussion started by: xjohnu
2 Replies

4. Programming

C++ template error

I get some compiling errors about template instantiation :wall: , but I can't find where the syntax errors happens. Can some help me? template<typename Type> class SingleList; template<typename Type> class SingleListNode{ private: friend class SingleList<Type>; SingleListNode() :... (1 Reply)
Discussion started by: 915086731
1 Replies

5. Programming

Calling template at once

Hello Again, I am just wanted to know if we can call the Template using "require_once" at PHP? Any views around happy to discuss. Thanks in Advance (2 Replies)
Discussion started by: AimyThomas
2 Replies

6. Shell Programming and Scripting

Convert vi editing to text editing

Dear Guru's I'm using Putty and want to edit a file. I know we generally use vi editor to do it. As I'm not good in using vi editor, I want to convert the vi into something like text pad. Is there any option in Putty to do the same ? Thanks for your response. Srini (6 Replies)
Discussion started by: thummi9090
6 Replies
SWISS::Stars(3pm)					User Contributed Perl Documentation					 SWISS::Stars(3pm)

NAME
SWISS::Stars.pm DESCRIPTION
SWISS::Stars represents the ** lines within an SWISS-PROT + TrEMBL entry. These are the lines with the line tag ** which are normally not publicly visible. SWISS::Stars is a master object like SWISS::Entry. It contains subobjects which represent the different line types in the ** section. Each line type has a two letter tag in addition to the ** line tag. This module has been written to allow easy addition of new ** line types. To use a new ** line tag, just use the tag as an object dereference. Example: $entry->Stars->XX->add("New XX tag line.","Second new XX tag line."); If there is no class SWISS::Stars::XX, the class of the new object will be SWISS::Stars::default, which handles lines with the corresponding tag as an array of lines. If more specific handling is required, a new class SWISS::Stars::XX can be created following the template of SWISS::Stars::default. An example is SWISS::Stars::aa. Subclass names and new line tags have to be two-letter-tags. No checks are made wheter the dereferenced tag is allowed. Access to the (old) unstructured ANNOTATOR'S SECTION is provided by the line tag 'aa'. $entry->Stars->aa->add("Testline 1.","Second new test line."); will add these two lines to the ANNOTATOR'S SECTION. Inherits from SWISS::BaseClass.pm Attributes No public attributes apart from the subclasses. Methods Standard methods new fromText toText update perl v5.10.1 2006-01-26 SWISS::Stars(3pm)
All times are GMT -4. The time now is 01:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy