New code for modifying text files in a folder


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting New code for modifying text files in a folder
# 8  
Old 09-27-2015
Quote:
Originally Posted by kylle345
Oddly enough I cannot seem to figure out what the issue is. Could it be the spacing (number of tabs)?
Please, post some more information that might help in the process of troubleshooting.
i.e
What program are you running?
How are you running the program?:
  • show the full command you are invoking with its arguments
  • what's the name of the directory you are running the program from?
What is the output?:
  • if there are any errors/warnings, please post a representative, real portion of it; not a paraphrased version of it.
  • what it is doing that is not the desired outcome?
A copy and paste listing portion of the file names as given by the command ls, might be helpful; not a paraphrased version of it.

Last edited by Aia; 09-27-2015 at 03:36 PM.. Reason: grammar
This User Gave Thanks to Aia For This Post:
# 9  
Old 09-27-2015
The input file is .txt (the only common theme for each of the files). The output file cab be anything (even replacing it).
# 10  
Old 09-29-2015
Sorry I am a bit rusty on coding. So everything does work but the problem is that the names with .fsa do not get replaced by the name on the file. The AMEL row gets filled in but thats about it.

Thanks

Quote:
Originally Posted by Aia
Please, post some more information that might help in the process of troubleshooting.
i.e
What program are you running?
How are you running the program?:
  • show the full command you are invoking with its arguments
  • what's the name of the directory you are running the program from?
What is the output?:
  • if there are any errors/warnings, please post a representative, real portion of it; not a paraphrased version of it.
  • what it is doing that is not the desired outcome?
A copy and paste listing portion of the file names as given by the command ls, might be helpful; not a paraphrased version of it.
# 11  
Old 09-29-2015
I created the code based on your first post example:

Code:
Kinship Analysis Report --- Likelihood Ratio
Marker	mmm.fsa			jjj.fsa			Parent/Child (LR)	
CSF1PO	10	12		10	12		1.90183	
TPOX	8	9		9	11		0.97656	
TH01	6	9.3		7	9.3		3.42466	
vWA	18			18	19		4.34783	
D16S539	10	12		9	10		2.33645	
D7S820	10	12		9	12		2.50000	
D13S317	11	12		11	12		1.48845	
D5S818	10	11		11	13		1.02459	
FGA	19	25		19	24		3.62319	
D8S1179	10	14		10	12		10.41667	
D18S51	12			12			17.24138	
D21S11	28	31		29	31		3.16456	
D3S1358	16	17		17			2.76243	
PENTA E	12	14		11	12		2.01613	
PENTA D	10	12		10	12		4.53612
							1.28E+07

I suspect there are discrepancies between what you posted and what you actually have. Let me ask you. Does mmm.fsa jjj.fsa, actually exist in the real file? Is this "Marker" line, in red, the second line of the file?
# 12  
Old 09-29-2015
The Marker line does exist and the name does exist but it not always mmm or jjj. They vary each time. I just need them to be replaced with the names on the file.

Hope that makes sense.

Quote:
Originally Posted by Aia
I created the code based on your first post example:

Code:
Kinship Analysis Report --- Likelihood Ratio
Marker	mmm.fsa			jjj.fsa			Parent/Child (LR)	
CSF1PO	10	12		10	12		1.90183	
TPOX	8	9		9	11		0.97656	
TH01	6	9.3		7	9.3		3.42466	
vWA	18			18	19		4.34783	
D16S539	10	12		9	10		2.33645	
D7S820	10	12		9	12		2.50000	
D13S317	11	12		11	12		1.48845	
D5S818	10	11		11	13		1.02459	
FGA	19	25		19	24		3.62319	
D8S1179	10	14		10	12		10.41667	
D18S51	12			12			17.24138	
D21S11	28	31		29	31		3.16456	
D3S1358	16	17		17			2.76243	
PENTA E	12	14		11	12		2.01613	
PENTA D	10	12		10	12		4.53612
							1.28E+07

I suspect there are discrepancies between what you posted and what you actually have. Let me ask you. Does mmm.fsa jjj.fsa, actually exist in the real file? Is this "Marker" line, in red, the second line of the file?
# 13  
Old 09-30-2015
Since you could not confirm if the line starting with the word "Marker" would land always as the second line, I made some modifications.
Please, try this version.

Code:
#!/usr/bin/perl

use strict;
use warnings;
use File::Copy qw(move);

for my $fname (@ARGV){
    my $fh;
    if(not open $fh, '<', $fname){
        print STDERR "$fname could not be processed\n";
        next;
    }  
    print "Processing file: $fname ...\n";

    my @names = $fname =~ /\[(.+?)\]\[\w\]/g;
    next unless (scalar @names == 2);
    open my $fh_bk, '>', "$fname.bk" or next;
    my $before_last = "AMEL\tX\tY\t\tX\tX\n";

    while(<$fh>){
         s/(^Marker\s+)\w{3}\.fsa(\s+)\w{3}\.fsa(\s+Parent\/Child.*$)/$1$names[0]$2$names[1]$3/;
         if(eof) {
             print $fh_bk "$before_last$_";
             next;
         }
         print $fh_bk $_;
    }
    close $fh;
    close $fh_bk;
    # test first and if it does correctly, remove the
    # # from next line to rename backup to original name
    #move "$fname.bk", $fname;
}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Modifying/combining two text outputs

greetings, I have what seems to be a fairly complex task at hand. I am dealing with 3 outputs from a database. a) Listing of tables. The first 3 characters are always an identifier of an application. See in part b - Example- select tablename from system.tables ABC1 ABC2 RFV1 ... (2 Replies)
Discussion started by: jeffs42885
2 Replies

2. Shell Programming and Scripting

How to add a text at the beginning of a text files in a folder?

how to add a text ( surya) at the beginning of a text files (so many) in folder text file: 111111 555555 666666 result: surya 111111 555555 666666 (3 Replies)
Discussion started by: suryanarayana
3 Replies

3. Shell Programming and Scripting

Extracting lines from text files in folder based on the numbers in another file

Hello, I have a file ff.txt that looks as follows *ABNA.txt 356 24 36 112 *AC24.txt 457 458 321 2 ABNA.txt and AC24.txt are the files in the folder named foo1. Based on the numbers in the ff.txt file, I want to extract the lines from the corresponding files in the foo1 folder and... (2 Replies)
Discussion started by: mohamad
2 Replies

4. Shell Programming and Scripting

Text Formating or Modifying

Hi Experts, I have a text exactly like below in a file: id item_id item_date prin_mkt_val --------------------------- --------------------------- ------------------------------- ------------------------ ... (1 Reply)
Discussion started by: apatil65
1 Replies

5. Shell Programming and Scripting

Need to build Shell Script to search content of a text file into a folder consist several files

Have to read one file say sourcefile containing several words and having another folder containing several files. Now read the first word of Sourcefile & search it into the folder consisting sevral files, and create another file with result. We hhave to pick the filename of the file in which... (3 Replies)
Discussion started by: mukesh.baranwal
3 Replies

6. Shell Programming and Scripting

Loop through text file > Copy Folder > Edit XML files in bulk?

I have a text file which contains lines in this format - it contains 105 lines in total, but I'm just putting 4 here to keep it short: 58571,east_ppl_ppla_por 58788,east_pcy_hd_por 58704,east_pcy_ga_por 58697,east_pcy_pcybs_por It's called id_key.txt I have a sample folder called... (9 Replies)
Discussion started by: biscuitcreek
9 Replies

7. UNIX for Dummies Questions & Answers

Separate text files in a folder by word count

Hi, been searching Google for like an hour and I doubt I got the right keywords so might as well ask here. What I need: Before: Article1.txt 564 Article2.txt 799 Article3.txt 349 Article4.txt 452 * Separate files over 400 wordcount * After: Article1.txt 564... (3 Replies)
Discussion started by: Richard2000
3 Replies

8. Shell Programming and Scripting

Find all text files in folder and then copy to a new folder

Hi all, *I use Uwin and Cygwin emulator. Im trying to search for all text files in the current folder (C/Files) and its sub folders using find -depth -name "*.txt" The above command worked for me, but now I would like to copy all found text files to a new folder (C/Files/Text) with ... (4 Replies)
Discussion started by: cgkmal
4 Replies

9. Shell Programming and Scripting

Help need in modifying the text of .txt file

Hi All, I've written a shell script in which i defined two varibles for example: str=1.0.0.15 timeStamp=2008.03.08 now using this varibles i need to modify a text file. The text content looks like this ************************ * packageNumber : 1.0.0.14 * * date :... (2 Replies)
Discussion started by: vinna
2 Replies

10. UNIX for Dummies Questions & Answers

grep multiple text files in folder into 1 text file?

How do I use the grep command to take mutiple text files in a folder and make one huge text file out of them. I'm using Mac OS X and can not find a text tool that does it so I figured I'd resort to the BSD Unix CLI for a solution... there are 5,300 files that I want to write to one huge file so... (7 Replies)
Discussion started by: coppertone
7 Replies
Login or Register to Ask a Question

Featured Tech Videos