Sponsored Content
Top Forums Shell Programming and Scripting Adding results of a find to an array Post 302542787 by Corona688 on Thursday 28th of July 2011 03:28:17 PM
Old 07-28-2011
You're putting them in single and double quotes which treats it as a string, not backticks which would treat it as a command to run.

find * is redundant, find . will work, that tells it to search down starting from the current directory.

But I don't think you need a loop at all.

Code:
# for BASH shell
ARR=( `find . -name '*.xml'` )
# for KSH shell
set -A ARR `find . -name '*.xml' `

echo "ARR is ${#ARR[@]} elements"

If you only want files in the current directory it's even simpler:

Code:
# For BASH
ARR=( *.xml )
# for KSH
set -A ARR *.xml

But you should know there is a limit to the number of things you can store in an array. If this list could ever be larger than a few dozen you should think about ways to handle files one-by-one, or keeping the list in a temp file, instead of storing it all in memory.

Last edited by Corona688; 07-28-2011 at 04:39 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Results of command execution into array

Hi Can anybody tell me how can I dump the results of execution of a command into array form? For example, I want to execute: and put each part of the result in an array element: Thanks (2 Replies)
Discussion started by: alirezan
2 Replies

2. Shell Programming and Scripting

Compare Array results

Hi, In a kshell , i need to compare the results of two array . each Non-match value should copy to a new array. For example: ========== Array one contain the following values: A B C Array two contain the following values: C F A E After comparing this arrays , a new array should... (4 Replies)
Discussion started by: yoavbe
4 Replies

3. Shell Programming and Scripting

Results of "find" to an array

I am looking to search a directory for a folder or file and when it finds any hits I want it to store those hits in an array so I can work with those hits later on. I have been trying to do something like this but it isn't putting results into an array like I would like, is it syntax or is this... (8 Replies)
Discussion started by: tret
8 Replies

4. Shell Programming and Scripting

doing a for loop adding up the results

Hi there If I run a 'swap -l' on my solaris box, i get swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 54,65 8 67119560 65655144 /dev/dsk/c1t0d0s2 54,65 8 33119522 32655122 I wanted to run a for loop adding up the totals of each column 4 , excluding the... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

5. Shell Programming and Scripting

Adding grep'd results in a variable

Here is one I am baffled with; I have not used unix for a while and now that I am back it has been fun remembering and I have enjoyed it, for the most past. this is in ksh. I need to search in a file for the line with X1 and cut columns 20-25, put them into a variable, added them (dollar... (3 Replies)
Discussion started by: CougarMutt
3 Replies

6. UNIX for Dummies Questions & Answers

Adding previous results

Hi, I am trying to use awk to do the following: For a column: 5 3 4 2 7 I want to start with the first entry then add the second to the first, third to second ..etc: 5 8 12 14 21 (5 Replies)
Discussion started by: cosmologist
5 Replies

7. Shell Programming and Scripting

Append awk results into file or array

for a in {1..100} do awk '{ sum+=$a} END {print sum}' a=$a file1 > file2 done I know I will get only one number if following the code above, how can I get 100 sum numbers in file2? (2 Replies)
Discussion started by: wanliushao
2 Replies

8. Programming

Results Of A Variable Into An Array Using C Language

Can C add its results into an array like bash? For example using bash: cat /etc/passwd **truncated for space ** gdm:x:109:118:Gnome Display Manager:/var/lib/gdm:/bin/false mysql:x:110:122:MySQL Server,,,:/nonexistent:/bin/false statd:x:111:65534::/var/lib/nfs:/bin/false... (5 Replies)
Discussion started by: metallica1973
5 Replies

9. UNIX for Beginners Questions & Answers

Adding results up

Hi There Just created a .sql script and executes fine, it comes back with two lines of results, I was wondering is there a way of adding up the two results to get a round number. I tired wc -l but that didn't work. Many Thanks for your help psql -t -f... (3 Replies)
Discussion started by: simpsa27
3 Replies

10. UNIX for Beginners Questions & Answers

Adding to an array in an external file, and adding elements to it.

I have an array in an external file, "array.txt", which contains: char *testarray={"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};I want to be able to add an element to this array, and have that element display, whenever I call it, without having to recompile... (29 Replies)
Discussion started by: ignatius
29 Replies
CRM_DIFF(8)							  [FIXME: manual]						       CRM_DIFF(8)

NAME
crm_diff - identify changes to the cluster configuration and apply patches to the configuration files SYNOPSIS
crm_diff [-?|-V] [-o filename] [-O string] [-p filename] [-n filename] [-N string] DESCRIPTION
The crm_diff command assists in creating and applying XML patches. This can be useful for visualizing the changes between two versions of the cluster configuration or saving changes so they can be applied at a later time using cibadmin. OPTIONS
--help, -? Print a help message. --original filename, -o filename Specify the original file against which to diff or apply patches. --new filename, -n filename Specify the name of the new file. --original-string string, -O string Specify the original string against which to diff or apply patches. --new-string string, -N string Specify the new string. --patch filename, -p filename Apply a patch to the original XML. Always use with -o. --cib, -c Compare or patch the inputs as a CIB. Always specify the base version with -o and provide either the patch file or the second version with -p or -n, respectively. --stdin, -s Read the inputs from stdin. EXAMPLES
Use crm_diff to determine the differences between various CIB configuration files and to create patches. By means of patches, easily reuse configuration parts without having to use the cibadmin command on every single one of them. 1. Obtain the two different configuration files by running cibadmin on the two cluster setups to compare: cibadmin -Q > cib1.xml cibadmin -Q > cib2.xml 2. Determine whether to diff the entire files against each other or compare just a subset of the configurations. 3. To print the difference between the files to stdout, use the following command: crm_diff -o cib1.xml -n cib2.xml 4. To print the difference between the files to a file and create a patch, use the following command: crm_diff -o cib1.xml -n cib2.xml > patch.xml 5. Apply the patch to the original file: crm_diff -o cib1.xml -p patch.xml FILES
/var/lib/heartbeat/crm/cib.xml--the CIB (minus status section) on disk. Editing this file directly is strongly discouraged. SEE ALSO
??? AUTHOR
crm_diff was written by Andrew Beekhof. [FIXME: source] 07/05/2010 CRM_DIFF(8)
All times are GMT -4. The time now is 01:43 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy