Sponsored Content
Top Forums Shell Programming and Scripting Bash to update file on prefix match in two directories Post 303043622 by RudiC on Sunday 2nd of February 2020 11:33:06 AM
Old 02-02-2020
How about getting your bash syntax right, first? What you post can't possibly run...

--- Post updated at 18:33 ---

OK, trying to guess what you're after, and making some assumptions, how about
Code:
TDIR="path/to/data"
for FN in ${TDIR}/*number*
  do    grep . ${FN%number*}* |
          awk ' {NFN = $0
                 sub (/\..*$/, "_file.txt", NFN)
                 sub (/^[^\.]*\./, "")
                 sub (/\.txt:/, "=")
                 print > NFN
                }'
   done




catfiles ${TDIR}/*file*
 
---------- data/AA-1_yy_file.txt: ----------

common=82.248581%
diff=138
number=46722024
test=50033

---------- data/ID-5_xx_file.txt: ----------

common=92.249581%
diff=180
number=67722024
test=59733

We assume a *number* file is always present, all files have a .txt suffix, and the order of entries being sorted by item is acceptable...

Last edited by RudiC; 02-02-2020 at 12:47 PM..
These 2 Users Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to extract paragraphs from file in BASH script followed by prefix ! , !! and !!!

I]hi all i am in confusion since last 2 days :( i posted thraed yesterday and some friends did help but still i couldnt get solution to my problem let it be very clear i have a long log file of alkatel switch and i have to seperate the minor major and critical alarms shown by ! , !! and !!!... (6 Replies)
Discussion started by: nabmufti
6 Replies

2. Shell Programming and Scripting

awk to update field file based on match

If $1 in file1 matches $2 in file2. Then the value in $2 of file2 is updated to $1"."$2 of file2. The awk seems to only match the two files but not update. Thank you :). awk awk 'NR==FNR{A ; next} $1 in A { $2 = a }1' file1 file2 file1 name version NM_000593 5 NM_001257406... (3 Replies)
Discussion started by: cmccabe
3 Replies

3. Shell Programming and Scripting

awk match to update contents of file

I am trying to match $1 in file1 with $2 in file2. If a match is found then $3 and $4 of file2 are copied to file1. Both files are tab-delimeted and I am getting a syntax error and would also like to update file1 in-place without creating a new file, but am not sure how. Thank you :). file1 ... (19 Replies)
Discussion started by: cmccabe
19 Replies

4. Shell Programming and Scripting

Match and store numerical prefix to update files

In the bash below the unique headers of each vcf.gz are stored in a text file with the same name. That is if 16-0000-file.vcf.gz was used the header text file would be 16-0000-file_header.txt. There can be multiple vcf.gz in a directory, usually 3, that I need to fix the header in each file before... (6 Replies)
Discussion started by: cmccabe
6 Replies

5. Shell Programming and Scripting

awk to update file based on partial match in field1 and exact match in field2

I am trying to create a cronjob that will run on startup that will look at a list.txt file to see if there is a later version of a database using database.txt as the source. The matching lines are written to output. $1 in database.txt will be in list.txt as a partial match. $2 of database.txt... (2 Replies)
Discussion started by: cmccabe
2 Replies

6. Shell Programming and Scripting

Perl to update field in file based of match to another file

In the perl below I am trying to set/update the value of $14 (last field) in file2, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (4 Replies)
Discussion started by: cmccabe
4 Replies

7. Shell Programming and Scripting

awk to update value based on pattern match in another file

In the awk, thanks you @RavinderSingh13, for the help in below, hopefully it is close as I am trying to update the value in $12 of the tab-delimeted file2 with the matching value in $1 of the space delimeted file1. I have added comments for each line as well. Thank you :). awk awk '$12 ==... (10 Replies)
Discussion started by: cmccabe
10 Replies

8. Shell Programming and Scripting

Bash to extract file prefix and from input to use in output

In the bash below which does execute I am trying to extract the contents of ${id} is 1234, as ${id} stores the variable that changes each time. After the path is removed the contents of ${id} are stored in pref, so they can be used in the output. Currently I am not able to extract the 1234 in the... (6 Replies)
Discussion started by: cmccabe
6 Replies

9. Shell Programming and Scripting

awk move select fields to match file prefix in two directories

In the awk below I am trying to use the file1 as a match to file2. In file2 the contents of $5,&6,and $7 (always tab-delimited) and are copied to the output under the header Quality metrics. The below executes but the output is empty. I have added comments to help and show my thinking. Thank you... (0 Replies)
Discussion started by: cmccabe
0 Replies

10. Shell Programming and Scripting

awk to update file based on match in 3 fields

Trying to use awk to store the value of $5 in file1 in array x. That array x is then used to search $4 of file1 to find aa match (I use x to skip the header in file1). Since $4 can have multiple strings in it seperated by a , (comma), I split them and iterate througn each split looking for a match.... (2 Replies)
Discussion started by: cmccabe
2 Replies
Text::WordDiff::HTML(3pm)				User Contributed Perl Documentation				 Text::WordDiff::HTML(3pm)

Name
       Text::WordDiff::HTML - XHTML formatting for Text::WordDiff

Synopsis
	   use Text::WordDiff;

	   my $diff = word_diff 'file1.txt', 'file2.txt'; { STYLE => 'HTML' };
	   my $diff = word_diff $string1,   $string2,    { STYLE => 'HTML' };
	   my $diff = word_diff *FH1,	     *FH2,	   { STYLE => 'HTML' };
	   my $diff = word_diff &reader1,   &reader2,    { STYLE => 'HTML' };
	   my $diff = word_diff @records1,  @records2,   { STYLE => 'HTML' };

	   # May also mix input types:
	   my $diff = word_diff @records1,  'file_B.txt', { STYLE => 'HTML' };

Description
       This class subclasses Text::WordDiff::Base to provide a XHTML formatting for Text::WordDiff. See Term::WordDiff for usage details. This
       class should never be used directly.

       Text::WordDiff::HTML formats word diffs for viewing in a Web browser. The diff content is highlighted as follows:

       o   "<div class="file">"

	   This element contains the entire contents of the diff "file" returned by "word_diff()". All of the following elements are subsumed by
	   this one.

	   o   "<span class="fileheader">"

	       The header section for the files being "diff"ed, usually something like:

		 --- in.txt    Thu Sep	1 12:51:03 2005
		 +++ out.txt   Thu Sep	1 12:52:12 2005

	       This element immediately follows the opening "file" "<div>" element, but will not be present if Text::WordDif cannot deterimine the
	       file names for both files being compared.

	   o   "<span class="hunk">"

	       This element contains a single diff "hunk". Each hunk may contain the following elements:

	       o   "<ins>"

		   Inserted content.

	       o   "<del>"

		   Deleted content.

       You may do whatever you like with these elements and classes; I highly recommend that you style them using CSS. You'll find an example CSS
       file in the eg directory in the Text-WordDiff distribution.

See Also
       Text::WordDiff
       Text::WordDiff::ANSIColor

Support
       This module is stored in an open repository at the following address:

       <https://svn.kineticode.com/Text-WordDiff/trunk/>

       Patches against Text::WordDiff are welcome. Please send bug reports to <bug-text-worddiff@rt.cpan.org>.

Author
       David Wheeler <david@kineticode.com>

Copyright and License
       Copyright (c) 2005-2008 David Wheeler. Some Rights Reserved.

       This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

perl v5.10.0							    2009-09-24						 Text::WordDiff::HTML(3pm)
All times are GMT -4. The time now is 03:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy