Sponsored Content
Full Discussion: Complex Script
Top Forums Shell Programming and Scripting Complex Script Post 302459846 by ahmad.diab on Tuesday 5th of October 2010 01:06:55 PM
Old 10-05-2010
Quote:
Originally Posted by ahmad.diab
Really nice post , but I would like to suggest another technique using Perl:-

Code:
perl -wle '
open(IN , "<in.txt") or die "can not open$!\n" ;
open(OUT , "<out.txt") or die "can not open$!\n" ;
open(HIS , "<history.txt")  or die "can not open$!\n" ;
@in = <IN> ;
@out = <OUT> ;
@his = <HIS>  ;
close(IN) ;close(OUT) ;close(HIS) ;
chomp @in; chomp @out; chomp @his ;
%his=@his ;
for ($i=0 ; $i<=$#in ; $i++) {
                         if ($in[$i] == $out[$i]) {
                               print $in[$i],"  ",$out[$i]; next;
                               }
             map {
                          if ( $_ > $in[$i] && $_ < $out[$i] && $his{$_}) {
                                 print  $in[$i],"  ",$out[$i] if ( ! $flag ) ;
                                 print $_,"  ",$his{$_} ;
                                 undef $his{$_} ;
                                 $flag=1 ;
                                           }
                        } keys %his ;
         $flag=0 ;
}
'


SmilieSmilieSmilie
if you use delete $his{$_} instead of undef $his{$_} (recomendation of Perl docs) it will be better and processing will be lesser; because code will be as below:-

Code:
for ($i=0 ; $i<=$#in ; $i++) {
                         if ($in[$i] == $out[$i]) {
                               print $in[$i],"  ",$out[$i]; next;
                               }
             map {
                          if ( $_ > $in[$i] && $_ < $out[$i] ) {
                                 print  $in[$i],"  ",$out[$i] if ( ! $flag ) ;
                                 print $_,"  ",$his{$_} ;
                                 delete $his{$_} ;
                                 $flag=1 ;
                                           }
                        } keys %his ;
         $flag=0 ;
}

SmilieSmilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need complex script, anyone up for a challenge?

Default shell is /usr/bin/zsh Script will be running #!/bin/bash Need to pull information from database while using other scripts already made (not by me). Ok, so i need a script pulling certain information about a customer's router interfaces. I am using a ROUTER-DNS-NAME as variable $1 I... (3 Replies)
Discussion started by: ///NNM
3 Replies

2. Shell Programming and Scripting

Complex Insert block in the Script

I have script in that there are thousands of create statement... I want to add these lines, above every Create Stament ================================================ IF OBJECT_ID('dbo.account_account_relations') IS NOT NULL BEGIN DROP TABLE dbo.account_account_relations IF... (2 Replies)
Discussion started by: niceboykunal123
2 Replies

3. Shell Programming and Scripting

complex find in script

How to I put my find command string into a script. It is currently to long to be entered manually at command line. for FNAME in `find /unixsxxx/interface/x.x/xxxxxx -type f \( -name '*.KSH' -o -name '*.sh' -o -name '*.sql' -o -name '*.ksh' \) -exec grep -il xxx.xxx.xxx.xxx {} \;`; do C=`grep -c... (5 Replies)
Discussion started by: TimHortons
5 Replies

4. Shell Programming and Scripting

Complex coloring in script

My script prints lines in which the entire line may be colored, and portions may also be colored. e.g. Consider this to be one line: $red some text in red $yellow abcd $end_yellow red text 1234 $blue some text $end_blue more red text $end_red So using sed, I may based on condition 1,... (5 Replies)
Discussion started by: sentinel
5 Replies

5. Shell Programming and Scripting

awk script (complex)

picked this up from another thread. echo 1st_file.csv; nawk -F, 'NR==FNR{a++;next} a{b++} END{for(i in b){if(b-1&&a!=b){print i";\t\t"b}else{print "NEW:"i";\t\t"b} } }' OFS=, 1st_file.csv *.csv | sort -r i need to use the above but with a slight modification.. 1.compare against 3 month... (25 Replies)
Discussion started by: slashbash
25 Replies

6. Shell Programming and Scripting

Complex match of numbers between 2 files awk script

Hello to all, I hope some awk guru could help me. I have 2 input files: File1: Is the complete database File2: Contains some numbers which I want to compare File1: "NUMBERKEY","SERVICENAME","PARAMETERNAME","PARAMETERVALUE","ALTERNATENUMBERKEY"... (9 Replies)
Discussion started by: Ophiuchus
9 Replies

7. Shell Programming and Scripting

Complex transpose awk script

Hello to all in forum, Maybe an awk expert could help me with this complex task for me. I have the input shown below and I would like to get the output as follow: - I would like the output separated by commas. - The header is fixed and will be the same always. - For the lines containing... (22 Replies)
Discussion started by: Ophiuchus
22 Replies

8. Shell Programming and Scripting

Complex calulation in shell script

Hi , I need one help to do some complex calculation in shell script. here is what i need to do:- a=2 b=2 c=2 d=2 result=a+(b/(20*c))+(c/(10*d)) is there any thing special there so that i can group intermdiate results. Please help me if you have any idea. (4 Replies)
Discussion started by: harpal singh
4 Replies

9. Shell Programming and Scripting

Shell script to read little complex values

Dear All, I have attached a file. In that I want to read some of the values like 1. ExecutionTime 2. ClockTime etc. I want to read at a specified time. How can I do that? Thanks & Regards, linuxUser_ (9 Replies)
Discussion started by: linuxUser_
9 Replies

10. Shell Programming and Scripting

Help with Complex Bash Script

I have an FTP server with thousands of Invoices. All Invoices are in a folder called /volume1/MBSInvoices/ Monthly invoices are added to that folder every month. Here is a sample filename of the Invoices: invoice_1_20170101_10010052_10020052_10030052_JOHNDOE.pdf the Account ID is the... (6 Replies)
Discussion started by: badr777
6 Replies
SD_JOURNAL_GET_CUTOFF_REALTIME_USEC(3)			sd_journal_get_cutoff_realtime_usec		    SD_JOURNAL_GET_CUTOFF_REALTIME_USEC(3)

NAME
sd_journal_get_cutoff_realtime_usec, sd_journal_get_cutoff_monotonic_usec - Read cut-off timestamps from the current journal entry SYNOPSIS
#include <systemd/sd-journal.h> int sd_journal_get_cutoff_realtime_usec(sd_journal* j, uint64_t* from, uint64_t* to); int sd_journal_get_cutoff_monotonic_usec(sd_journal* j, sd_id128_t boot_id, uint64_t* from, uint64_t* to); DESCRIPTION
sd_journal_get_cutoff_realtime_usec() gets the realtime (wallclock) timestamps of the first and last entries accessible in the journal. It takes three arguments: the journal context object and two pointers to 64-bit unsigned integers to store the timestamps in. The timestamps are in microseconds since the epoch, i.e. CLOCK_REALTIME. Either one of the two timestamp arguments may be passed as NULL in case the timestamp is not needed, but not both. sd_journal_get_cutoff_monotonic_usec() gets the monotonic timestamps of the first and last entries accessible in the journal. It takes three arguments: the journal context object, a 128-bit identifier for the boot, and two pointers to 64-bit unsigned integers to store the timestamps. The timestamps are in microseconds since boot-up of the specific boot, i.e. CLOCK_MONOTONIC. Since the monotonic clock begins new with every reboot it only defines a well-defined point in time when used together with an identifier identifying the boot, see sd_id128_get_boot(3) for more information. The function will return the timestamps for the boot identified by the passed boot ID. Either one of the two timestamp arguments may be passed as NULL in case the timestamp is not needed, but not both. RETURN VALUE
sd_journal_get_cutoff_realtime_usec() and sd_journal_get_cutoff_monotonic_usec() return 1 on success, 0 if not suitable entries are in the journal or a negative errno-style error code. NOTES
The sd_journal_get_cutoff_realtime_usec() and sd_journal_get_cutoff_monotonic_usec() interfaces are available as a shared library, which can be compiled and linked to with the libsystemd-journal pkg-config(1) file. SEE ALSO
systemd(1), sd-journal(3), sd_journal_open(3), sd_journal_get_realtime_usec(3), sd_id128_get_boot(3), clock_gettime(2) systemd 208 SD_JOURNAL_GET_CUTOFF_REALTIME_USEC(3)
All times are GMT -4. The time now is 02:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy