Sponsored Content
Top Forums UNIX for Beginners Questions & Answers awk unable to print array next to each other Post 303045778 by RudiC on Monday 13th of April 2020 06:21:34 AM
Old 04-13-2020
There was no count specified in your changed request in post #8. This is as close as I get towards your before last specification:
Code:
awk -F";" '
BEGIN           {print HD = "vc_MessageInformation      vc_AdditionalInfo       Error code      Error Text      Database server"
                 HCNT = split (HD, COLN, "\t")
                }

                {sub (/^.*"/, _)
                 for (j=1; j<=NF; j++)  {FP = 0
                                         for (i=1; i<=HCNT; i++) FP += sub ("[ ]*" COLN[i] "[^=:]*[=:]", _, $j)
                                         if (! FP) $j = _
                                        }
                }

1
' file
vc_MessageInformation    vc_AdditionalInfo    Error code    Error Text    Database server
Failure in database operation towards the back-end  Operation: Modify 20 Type or value exists - modify/add: CDC: value #0 already exists ldap://1X.2XX.1XX.2XX:3XX
Failure in database operation towards the back-end  Operation: Modify 20 Type or value exists - modify/add: CDC: value #0 already exists ldap://1X.2XX.1XX.2XX:3XX
.
.
.


Rg. your next change in spec, I'd propose you proceed as indicated in post #9: change spec and script in small steps, understand discrepancies in result and operation, and come back with very specific, detailed questions. "Result is somewhat not as expected" doesn't help to track down errors, neither yourself nor others trying to help. "Why can't the error code value be extracted or isolated" is way more targeted, don't you think? Yes, this is tedious, but the only way to get through.

Last edited by RudiC; 04-13-2020 at 07:29 AM..
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unable to set a data to array

Hi All, Iam trying to set the value to the array... Still its not happening Following is the code: #!/usr/bin/ksh filenames="x"; filenames="y"; echo $filenames; echo $filenames; O/P: x x Iam expecting (2 Replies)
Discussion started by: kiranlalka
2 Replies

2. Solaris

Unable to access 3500 FC array. Where is the problem?..

Hi, I have two Sun Fire V490 with Solaris 10 5/08, FC switch and two Sun StorageTek 3500 FC arrays. Each array is connected to switch and to one server at a time. In the last week I installed Solaris 10 5/08 on both servers and set up Sun Cluster, version 3.2. At wednesday all was fine - all... (7 Replies)
Discussion started by: Sapfeer
7 Replies

3. Shell Programming and Scripting

awk: reading into an array and then print the value corresponding to index

I am beginner in awk awk 'BEGIN{for(i=1;(getline<"opnoise")>0;i++) arr=$1}{print arr}' In the above script, opnoise is a file, I am reading it into an array and then printing the value corresponding to index 20. Well this is not my real objective, but I have posted this example to describe... (19 Replies)
Discussion started by: akshaykr2
19 Replies

4. Shell Programming and Scripting

Print array into a single file - AWK

Hi all, I been looking for a solution to the fact that when I use: for (i=1; i<=NF; i++) print $ifields that are originally in a single line are printed in a single line I have severals files for which the first 7 are the same, but the number of variables after that can vary, for example NF... (5 Replies)
Discussion started by: PaulaL
5 Replies

5. Programming

Unable to assign zero to unsigned character array

Hi, I am unable to assign value zero to my variable which is defined as unsigned char. typedef struct ABCD { unsigned char abc; unsigned char def; unsigned char ghi; } ABCD; typedef ABCD *PABCD; In my Por*C code, i assign the values using memcpy like below ... (3 Replies)
Discussion started by: gthangav
3 Replies

6. Shell Programming and Scripting

Unable To access array in awk

Hi, i have the following code in which i am passing array tldn in awk using -v option & despite of that condition is not getting matched,can somebody suggest how to handle shell arrays in awk tcount=(9875 9667) awk -F"\t" -v ltldn="${tldn}" 'NR==FNR {POSTPAIDMDNS=$2"|"$3;next} ... (6 Replies)
Discussion started by: siramitsharma
6 Replies

7. UNIX for Dummies Questions & Answers

How To Print Array in awk?

Hello, May i please know how do i print the array using awk script. I am using below shell script to start with but not working. #!/bin/bash LOADSTATUS="Line 0" LOADSTATUS="Line 1" LOADSTATUS="Line 2" LOADSTATUS="Line 3" LOADSTATUS="Line 4" awk ' BEGIN { Your File Load Status }... (1 Reply)
Discussion started by: Ariean
1 Replies

8. Shell Programming and Scripting

Not getting array in .awk file and print it

I have test.sh file as below : set -A IDARR $ID echo | awk -f test.awk -v TempArr="${IDARR }" I have test.awk file as below : BEGIN { Flag = 1; } { print "Hello"; for(i in TempArr) { print i; } } (9 Replies)
Discussion started by: nes
9 Replies

9. Shell Programming and Scripting

awk to print array that occurs the most with matching value in another field

In the below awk I am splitting $7 on the : and then counting each line or NM_xxxx. If the $1 value is the same for each line then print the $7 that occurs the most with the matching $1 value. The awk seems close but I am not sure what is going on. I included a description as well as to what I... (1 Reply)
Discussion started by: cmccabe
1 Replies

10. Shell Programming and Scripting

Unable to print python array in shell script loop.

I am unable to loop print a python string array in my unix shell script: ~/readarr.sh '{{ myarr }}' more readarr.sh echo "Parameter 1:"$1 MYARRAY= $1 IFS= MYARRAY=`python <<< "print ' '.join($MYARRAY)"` for a in "$MYARRAY"; do echo "Printing Array: $a" done Can you... (10 Replies)
Discussion started by: mohtashims
10 Replies
Normalize::Text::Music_Fields(3pm)			User Contributed Perl Documentation			Normalize::Text::Music_Fields(3pm)

NAME
Normalize::Text::Music_Fields - normalize names of people's and (musical) works. SYNOPSIS
$name = $obj->Normalize::Text::Music_Fields::normalize_person($name); $work = $obj->Normalize::Text::Music_Fields::normalize_piece($work); # $obj should have methods `name_for_field_normalization', 'shorted_person' DESCRIPTION
Databases of names and of works-per-name are taken from plain-text files (optionally in mail-header format). Names are stored in *.lst files. Works are stored in .comp files named after the shortened name of the composer. The directories of these files are looked in the environment variable "MUSIC_FIELDS_PATH" (if defined, split the same way as "PATH"), or in "$ENV{HOME}/.music_fields", and "-" (and "-" is replaced by the directory named as the module file with .pm dropped). At runtime, one can replace the list by calling function Normalize::Text::Music_Fields::set_path() with the list of directories as the argument. (Since parsed files are cached, replacing the directory list should be done as early as possible.) Files may be managed with utility subroutines provided with the module: # Translate from one-per-line to mail-header format: perl -wple "BEGIN {print q(# format = mail-header)} s/#s*normalizeds*$//; $_ = qq(Title: $_) unless /^s*(#|$)/; $_ = qq( $_) if $p and not /^##/; $_ .= qq( ) unless $p = /^##/" Normalize::Text::Music_Fields-G_Gershwin.comp >Music_Fields-G_Gershwin.comp-mail # (inverse transformation:) Dump pieces listed in mail-header format perl -MNormalize::Text::Music_Fields -wle "print for Normalize::Text::Music_Fields::read_composer_file(shift, shift)" gershwin Music_Fields-G_Gershwin.comp-mail > o # Normalize data in 1-line-per piece format perl -MNormalize::Text::Music_Fields -wle "Normalize::Text::Music_Fields::prepare_tag_object_comp(shift)->Normalize::Text::Music_Fields::normalize_file_lines(shift)" # Create a mail-header file from a semi-processed (with "bold" fields) # mail-header file (with xml escapes, preceded by opus number) perl -MNormalize::Text::Music_Fields -00wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print q(# format = mail-header)} print Normalize::Text::Music_Fields::emit_as_mail_header($tag,$_, q(bold,xml,opus),$pre)" shostakovich o-xslt-better >Music_Fields-D_Shostakovich.comp-mail1 # Likewise, from work-per-line with opus-numbers: perl -MNormalize::Text::Music_Fields -wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print qq(# format = mail-header )} print Normalize::Text::Music_Fields::emit_as_mail_header($tag,$_, q(opus), $pre)" schnittke o-schnittke-better >Music_Fields-A_Schnittke.comp-mail2 # A primitive tool for merging additional info into the database: perl -MNormalize::Text::Music_Fields -wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print qq(# format = mail-header )} next unless s/^s*++s*//; print Normalize::Text::Music_Fields::merge_info($tag,$_, q(opus,xml), qr(^(58|70|76|116|118|119)($|-)))" brahms o-brahms-op-no1-xslt # Minimal consistency check of persons database. perl -MNormalize::Text::Music_Fields -wle "BEGIN{binmode $_, ':encoding(cp866)' for *STDIN, *STDOUT, *STDERR} print Normalize::Text::Music_Fields->check_persons" # Minimal testing code: perl -MNormalize::Text::Music_Fields -e Normalize::Text::Music_Fields::test_normalize_piece It may be easier to type these examples if one uses "manage_M_N_F.pm", which exports the mentioned subroutines to the main namespace (available in examples directory of a distribution of "MP3::Tag"). E.g., the last example becomes: perl -Mmanage_M_N_F -e test_normalize_piece perl v5.14.2 2009-05-08 Normalize::Text::Music_Fields(3pm)
All times are GMT -4. The time now is 06:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy