Thread shell Befehl umsetzen (13 answers)
Opened by wenze at 2018-05-22 11:14

Linuxer
 2018-05-22 12:51
#188417 #188417
User since
2006-01-27
3869 Artikel
HausmeisterIn

user image
Beispielsweise so:

(schnell zusammengeschrieben, ungetestet):

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use strict;
use warnings;
use 5.010;


my $file = "/usr/sap/SID/SYS/profile/DEFAULT.PFL";
my $search = 'dbhost';

open my $fh, '<', $file or die "open($file,ro) failed: $!";

my %seen;

LINE:
while ( my $line = <$fh> ) {

  # skip lines without search string 
  next LINE   if index( lc($line), lc($search), 0 ) < 0;

  # extract the third field of line
  my $third = ( split( m/\s+/, $line, ) )[2];

  # keep the fields uniq
  $seen{$third}++;
}
close $fh;

# show the third fields of matching lines, but only once
say join( "\n", keys %seen );


Es gibt aber auch noch andere Möglichkeiten; vor allem, wenn man wüsste, wie die Zeilen mit dbhost aufgebaut wären.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread shell Befehl umsetzen