04-07-2009
Search and Substitute from 2 files
Hello,
I am not a frequent user of Unix. With my little knowledge and some scrambling I was able to get to this point .. please help me get this right. I have 2 files
file1.txt
123AAAAA111111111111111
456BBBBBB222222222222222222
789CCCCC33333333333333333
file2.txt
AAAAA11111
BBBBB22222
CCCCC33333
my output file should be from file1 with the following manipulations -- search for string pos 4-8 from file 1 in file 2 and replace with string pos 6-10 from file 2. File 1 is fixed width columns but variable record lengths (last columns could be null for some records)
output.txt
12311111111111111111111
45622222222222222222222222
7893333333333333333333333
#!usr/bin/ksh
while read myline
do
A=`awk '{print substr($myline, 1, 3)}'`
B=`awk '{print substr($myline, 4, 5)}'`
C=`awk '{print substr($myline, 9)}'`
sub=`grep $B file2.txt | awk '{print substr($0,6)}'`
echo "${A}${sub}${C}" >> output.txt
done < file1.txt
The error that I get is "grep unable to open AAAAA". The output file is written but the substitution happens for only one record.
Thanks.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
I would appriciate if somebody can help me figure out how to search for all the *.xml file under a specific directory and subdirectroies (/home/username) and later search of content "<start>" inside the xml file returned by search.
-Lovin.V (2 Replies)
Discussion started by: lovi_v
2 Replies
2. UNIX for Dummies Questions & Answers
Hi there,
I have a file with 1800+ lines and all are something like this:
drwx--x--x 12960 4096 Oct 6 2006 palfvoet
drwx--x--x 67205 4096 May 9 05:21 pallsopp
drwx--x--x palmgren 4096 Oct 6 2006 palmgren
now, as you... (3 Replies)
Discussion started by: besgal
3 Replies
3. Shell Programming and Scripting
hi,
trying to learn more abt sed :(
i want to substitute a variable(a) with other variable(b) appended.
Read.txt contains:
home/test2/abc
home/test/root1
input.txt contains:
make test "home/test1/none"version="1.3"
wt's wrong test "home/test2/abc"version="1.0"
make save... (9 Replies)
Discussion started by: dragon.1431
9 Replies
4. SuSE
Hello Linux Masters,
I am not a linux expert therefore i need help from linux gurus.
Well i have a requirement where i need to search all files based on first patterns and after seraching all files then serach second pattern in all files which i have extracted based on first pattern.... (1 Reply)
Discussion started by: Black-Linux
1 Replies
5. Shell Programming and Scripting
Hi,
I want to access files from different directories (for example: /home/dir1/file1 , /home/dir2/file2 ...) Like this i have to access these files(file1, file2...). (3 Replies)
Discussion started by: bangarukannan
3 Replies
6. Shell Programming and Scripting
Hi
I have a "|" delimited file as shown below.
55987|2011-04-07|09:30: 8.0|09:30:27.4|9194
55988|2011-04 07|09:30:21.0|09:30:27.4|9199
55989|2011-04-07|09:30:25.0|09:30:27.5|9176
55990|2011-04-07|09:29:33.0|09:30:27.5|9196
55991|2011-04-07|09:30:21.0|09:30:27.5|9199... (3 Replies)
Discussion started by: alok3141
3 Replies
7. Shell Programming and Scripting
Hi I have multiple files in a folder and one file which contains a list of files (one on each line). I was to search for a string only within these files and not the whole folder. I need the output to be in the form
File1<tab>string instance 2<tab> string instance 2<tab>string instance 3... (6 Replies)
Discussion started by: pkabali
6 Replies
8. Shell Programming and Scripting
hi everyone,
im stuck in here with shell :) can you help me??
i have a directory with alot files (genbank files ... all ended in .gbk ) more than 1000 for sure ... and i want to read each one of them and search for some information and if i found the right one i save in new file with new... (6 Replies)
Discussion started by: andreia
6 Replies
9. UNIX for Dummies Questions & Answers
Hi, I was trying to figure this out but failed so I hope someone here can help me, thank you in advance.
I have two files.
file1: aa M
bb N
cc O
dd P
ee Q file2: aa A_87_P254063
cc A_87_P016532
bb A_87_P104793
dd A_87_P055331
ee A_87_P059706
aa A_87_P071636
ee A_87_P028302... (2 Replies)
Discussion started by: yuejian
2 Replies
10. Shell Programming and Scripting
I need to make ~96 configure files from a template config file which has hundreds of rows that looks like:
template.config:
#average insert size
avg_ins=1000
......
other information omitted
Those config files are named in sequence from S01.config, S02.config, ... etc
with different... (11 Replies)
Discussion started by: yifangt
11 Replies
comm(1) User Commands comm(1)
NAME
comm - select or reject lines common to two files
SYNOPSIS
comm [-123] file1 file2
DESCRIPTION
The comm utility reads file1 and file2, which must be ordered in the current collating sequence, and produces three text columns as output:
lines only in file1; lines only in file2; and lines in both files.
If the input files were ordered according to the collating sequence of the current locale, the lines written will be in the collating
sequence of the original lines. If not, the results are unspecified.
OPTIONS
The following options are supported:
-1 Suppresses the output column of lines unique to file1.
-2 Suppresses the output column of lines unique to file2.
-3 Suppresses the output column of lines duplicated in file1 and file2.
OPERANDS
The following operands are supported:
file1 A path name of the first file to be compared. If file1 is -, the standard input is used.
file2 A path name of the second file to be compared. If file2 is -, the standard input is used.
USAGE
See largefile(5) for the description of the behavior of comm when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes).
EXAMPLES
Example 1: Printing a list of utilities specified by files
If file1, file2, and file3 each contain a sorted list of utilities, the command
example% comm -23 file1 file2 | comm -23 - file3
prints a list of utilities in file1 not specified by either of the other files. The entry:
example% comm -12 file1 file2 | comm -12 - file3
prints a list of utilities specified by all three files. And the entry:
example% comm -12 file2 file3 | comm -23 -file1
prints a list of utilities specified by both file2 and file3, but not specified in file1.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of comm: LANG, LC_ALL, LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All input files were successfully output as specified.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO
cmp(1), diff(1), sort(1), uniq(1), attributes(5), environ(5), largefile(5), standards(5)
SunOS 5.10 3 Mar 2004 comm(1)