Sponsored Content
Top Forums Shell Programming and Scripting Associative array index question Post 303004388 by RudiC on Sunday 1st of October 2017 05:48:45 AM
Old 10-01-2017
Now, with your nice set of functions, why don't you stay with those, i.e. write a "repair" , a "restore" etc. function and just call those in the case statement?



EDIT: For your get_ldif, how about something like
Code:
IFS=: read LOCAL_FP LOCAL_COUNT   < <(grep -Hc "dn: " /localbackup/ldap/* | sort -t: -rn -k 2,2 | head -n 1)
IFS=: read REMOTE_FP REMOTE_COUNT < <(grep -Hc "dn: " /backup/ldap/*      | sort -t: -rn -k 2,2 | head -n 1)
[ "${LOCAL_COUNT}" -ge "${REMOTE_COUNT}" ] && FILE_PATH="$LOCAL_FP" ||  FILE_PATH="$REMOTE_FP"
printf "%b\n%b\n" "Found the following LDIF with DN count:" "${FILE_PATH}                             [ \e[92mOK\e[0m ]"

The problem with empty variables will arise if files aren't found or directories are empty, i.e. grep fails. In this case, check for the exit code, deploy the shell's "parameter expansion - use default value", or use a trick like adding a "0" upfront:
Code:
[ 0"${LOCAL_COUNT}" -ge 0"${REMOTE_COUNT}" ]

As this is not an "arithmetic evaluation", no problem with "leading 0 are interpreted as octal numbers" should occur. Should your shell interpret the values as octal values (mine didn't), add a base descriptor like "10#".

Last edited by RudiC; 10-01-2017 at 09:20 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Associative Array

Hi, I am trying to make an associative array to use in a popup_menu on a website. Here is what i have: foreach $entr ( @entries ) { $temp_uid = $entr->get_value(uid); $temp_naam = $entr->get_value(sn); $s++; } This is the popup_menu i want to use it in. popup_menu(-name=>'modcon',... (4 Replies)
Discussion started by: tine
4 Replies

2. Shell Programming and Scripting

Perl: Sorting an associative array

Hi, When using sort on an associative array: foreach $key (sort(keys(%opalfabet))){ $value = $opalfabet{$key}; $result .= $value; } How does it handle double values? It seems to me that it removes them, is that true? If so, is there a way to get... (2 Replies)
Discussion started by: tine
2 Replies

3. Filesystems, Disks and Memory

why the inode index of file system starts from 1 unlike array index(0)

why do inode indices starts from 1 unlike array indexes which starts from 0 its a question from "the design of unix operating system" of maurice j bach id be glad if i get to know the answer quickly :) (0 Replies)
Discussion started by: sairamdevotee
0 Replies

4. UNIX for Dummies Questions & Answers

wh inode index starts from 1 unlike array index (0)

brothers why inode index starts from 1 unlike array inex which starts from 0 its a question from the design of unix operating system of maurice j.bach i need to know the answer urgently...someone help please (1 Reply)
Discussion started by: sairamdevotee
1 Replies

5. Shell Programming and Scripting

Help needed on Associative array in awk

Hi All, I got stuck up with shell script where i use awk. The scenario which i am working on is as below. I have a file text.txt with contents COL1 COL2 COL3 COL4 1 A 500 400 1 B 500 400 1 A 500 200 2 A 290 300 2 B 290 280 3 C 100 100 I could able to sum col 3 and col4 based on... (3 Replies)
Discussion started by: imsularif
3 Replies

6. Shell Programming and Scripting

Split string into map (Associative Array)

Hi Input: { committed = 782958592; init = 805306368; max = 1051394048; used = 63456712; } Result: A map (maybe Associative Array) where I can iterate through the key/value. Something like this: for key in $map do echo key=$key value=$map done Sample output from the map: ... (2 Replies)
Discussion started by: chitech
2 Replies

7. Shell Programming and Scripting

Associative array

I have an associative array named table declare -A table table="fruit" table="veggie" table="GT" table="eminem" Now say I have a variable returning the value highway How do I find corresponding value GT ?? (this value that I find (GT in this case) is supposed to be the name of a mysql... (1 Reply)
Discussion started by: leghorn
1 Replies

8. Shell Programming and Scripting

Associative Array with more than one item per entry

Hi all I have a problem where i have a large list ( up to 1000 of items) and need to have 2 items pulled from it into variables in a bash script my list is like the following and I could have it as an array or possibly an external text file maintained separately. Every line is different and... (6 Replies)
Discussion started by: kcpoole
6 Replies

9. Shell Programming and Scripting

Morse Code with Associative Array

Continuing my quest to learn BASH, Bourne, Awk, Grep, etc. on my own through the use of a few books. I've come to an exercise that has me absolutely stumped. The specifics: 1. Using ONLY BASH scripting commands (not sed, awk, etc.), write a script to convert a string on the command line to... (22 Replies)
Discussion started by: ksmarine1980
22 Replies

10. Shell Programming and Scripting

Using associative array for comparison

Hello together, i make something wrong... I want an array that contains information to associate it for further processing. Here is something from my bash... You will know, what I'm trying to do. I have to point out in advance, that the variable $SYSOS is changing and not as static as in my... (2 Replies)
Discussion started by: Decstasy
2 Replies
STG-EDIT(1)							   StGit Manual 						       STG-EDIT(1)

NAME
stg-edit - edit a patch description or diff SYNOPSIS
stg edit [options] [<patch>] DESCRIPTION
Edit the description and author information of the given patch (or the current patch if no patch name was given). With --diff, also edit the diff. The editor is invoked with the following contents: From: A U Thor <author@example.com> Date: creation date Patch description If --diff was specified, the diff appears at the bottom, after a separator: --- Diff text Command-line options can be used to modify specific information without invoking the editor. (With the --edit option, the editor is invoked even if such command-line options are given.) If the patch diff is edited but does not apply, no changes are made to the patch at all. The edited patch is saved to a file which you can feed to "stg edit --file", once you have made sure it does apply. OPTIONS
-d, --diff Edit the patch diff. -e, --edit Invoke interactive editor. --sign Add a "Signed-off-by:" to the end of the patch. --ack Add an "Acked-by:" line to the end of the patch. -m MESSAGE, --message MESSAGE Use MESSAGE instead of invoking the editor. -f FILE, --file FILE Use the contents of FILE instead of invoking the editor. (If FILE is "-", write to stdout.) --save-template FILE Instead of running the command, just write the message template to FILE, and exit. (If FILE is "-", write to stdout.) When driving StGit from another program, it is often useful to first call a command with --save-template, then let the user edit the message, and then call the same command with --file. --author "NAME <EMAIL>" Set the author details. --authname NAME Set the author name. --authemail EMAIL Set the author email. --authdate DATE Set the author date. -O OPTIONS, --diff-opts OPTIONS Extra options to pass to "git diff". STGIT
Part of the StGit suite - see linkman:stg[1] StGit 03/13/2012 STG-EDIT(1)
All times are GMT -4. The time now is 06:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy