How to get this script work on multiple input files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to get this script work on multiple input files
# 8  
Old 08-27-2010
Quote:
Originally Posted by Daniel8472
One problem seems to remain so far. While reading a new file the value for "h" is not reset to zero. Thus unless in the following file is a higher value in the $2 the highest $2 value of the previous files is kept and printed.
That was a problem I didn't notice, but it can be easily solved.
Remove "BEGIN { h=0 }", and add "h=0" to the "FNR == 1" action part.
i.e. "FNR == 1 { h=0; if(header!="") ....}"
# 9  
Old 08-27-2010
Smilieawsome it works great now. Thanks a lot!
# 10  
Old 08-28-2010
Hi again,

I thought about modifying the script a little bit in order to add more option for the output.

For example I would like to get the 4 value before and after a local maximum within a file. For this I think I need to store the values of 9 sukzessive lines respectivly for comparison.

Code:
if ($2 in line X < $2 in line X-1) {print $0 of X-4, $0 of X-3, $0 of X-2, $0 of X-1, $0 ofX , $0 of X+1, $0 of X+2, $0 of X+3, $0 of X+4}

However I am not sure how and where to implement this in the current script. I tryd to creat an array but this doesen't seem to work...

What approach would you suggest?

Have a great weekend!
Daniel


ps: my current code
Code:
BEGIN     {
    print "trajectory= traj molecules= mol Peptide= pep resid(CA?)= res contact= so (max)solv/sphere= n Radius(A)= r" "first hill= gear";
    printf "%6s %6s %6s %6s %6s %6s %6s %6s\n ", "traj", "mol", "pep", "res", "co", "n", "r", "gear"; 
    } 

    

    NR == 1        {traj=$2;
            mol=$1;
            pep=$3;
            res=$5;
            so=$6;
            }
    FNR == 1    { 
            if(header!="") 
                {

                printf "%6.0f %6s %6s %6s %6s %6.1f %6.1f %6.1f\n", traj, mol, pep, res, so, h, max, gear; 
                traj=$2;
                mol=$1;
                pep=$3;
                res=$5;
                so=$6;
                h=0;
                max=0;
                help=0;
                #gear=0;
                } 
            header=$0; next; 
              } 

    
    {if (substr($2,3,5)/100000*10^(substr($2,9,3))>h)     { 
                            
                            h=substr($2,3,5)/100000*10^(substr($2,9,3))
                            max=(substr($1,3,5)/100000)*10^(substr($1,9,3))    
                            }
    else     {
        };

    


END     {
    printf "%6.0f %6s %6s %6s %6s %6.1f %6.1f %6.1f\n ", traj, mol, pep, res, so, h, max, gear;  
    }

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[Solved] Multiple input files and output files

Hi, I have many test*.ft1 files to which I want to read as input for a script called pipe2txt.tcl and print the output in each separate file. For example, pipe2txt.tcl < test001.ft1 > test001.txt How can I read many files in this maner? thank you very much, Best, Pahuja (5 Replies)
Discussion started by: Pahuja
5 Replies

2. Shell Programming and Scripting

Script to delete files older than x days and also taking an input for multiple paths

Hi , I am a newbie!!! I want to develop a script for deleting files older than x days from multiple paths. Now I could reach upto this piece of code which deletes files older than x days from a particular path. How do I enhance it to have an input from a .txt file or a .dat file? For eg:... (12 Replies)
Discussion started by: jhilmil
12 Replies

3. Shell Programming and Scripting

Script to delete files with an input for directories and an input for path/file

Hello, I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall: I regularly need to delete files from many directories. A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Discussion started by: *ShadowCat*
3 Replies

4. Shell Programming and Scripting

awk, multiple files input and multiple files output

Hi! I'm new in awk and I need some help. I have a folder with a lot of files and I need that awk do something in each file and print a new file with the output. The input file name should be modified when I print the outpu files. Thanks in advance for help! :-) ciao (5 Replies)
Discussion started by: gabrysfe
5 Replies

5. UNIX for Dummies Questions & Answers

Writing a loop to process multiple input files by a shell script

I have multiple input files that I want to manipulate using a shell script. The files are called 250.1 through 250.1000 but I only want the script to manipulate 250.300 through 250.1000. Before I was using the following script to manipulate the text files: for i in 250.*; do || awk... (4 Replies)
Discussion started by: evelibertine
4 Replies

6. UNIX for Advanced & Expert Users

Input for multiple files.

Hi, I am trying to come up with a script, and would like the script to pick all the files place within a folder and interactive take my yes/no before processing within the command. Could you someone help me in modifying the script : #!/bin/bash # LDIF_FILES="File Name" for MY_FILE... (5 Replies)
Discussion started by: john_prince
5 Replies

7. Shell Programming and Scripting

How to make an editing script work for multiple files?

Hey everybody, I have a script for making a string substitution in a file. I am trying to modify it in order to make the same modifcation to multiples files. here is what I have so far. #!/bin/csh set p1="$1" shift set p2="$1" shift foreach x ($*) if ( { grep -w -c "$p1" $x } ) then mv... (7 Replies)
Discussion started by: iwatk003
7 Replies

8. Shell Programming and Scripting

how to redirect multiple input files?

I have a program that runs like "cat f1 - f2 -", I need to write shell script to run the program whose standard input will be redirected from 2 files. I spend a whole day on it, but didn't figure out. Can someone help me out? Thanks! (8 Replies)
Discussion started by: microstarwwx
8 Replies

9. Shell Programming and Scripting

Splitting input files into multiple files through AWK command

Hi, I needs to split *.txt files from single directory depends on the some mutltiple input values. i have wrote the code like below for file in *.txt do grep -i -h "value1|value2" $file > $file; done. My requirment is more input values needs to be given in grep; let us say 50... (3 Replies)
Discussion started by: arund_01
3 Replies

10. UNIX for Dummies Questions & Answers

can you redirect multiple files for input?

I have a program that is reading strings into a vector from a file. Currently I am using this command: a.out < file1 The program runs and prints the contents of the vector to the screen, like its supposed to. The problem is that it needs to read in 3 files to fill the vector. Is there anyway... (4 Replies)
Discussion started by: Matrix_Prime
4 Replies
Login or Register to Ask a Question