Creating an array that stores files to be called on.
If the user wants to call multiple files of their choosing and in different directories and then have all those files placed into one command ex: chmod * * file1 file2 how would you go about that?
I was thinking starting some like this and then thinking would I loop it.
This is going to be used so that a user can add them to a command for example chmod and rm.
What keeps you from trying it (mayhap with the -x (--xtrace) option set)? Commands accepting multiple arguments don't even need the for loop nor the array. Try
.
Be aware that running a command blind folded with a resulting argument list that you don't know upfront is dangerous; applied to the wrong directories with the wrong options might render your system unuseable!
And, files with white space chars in their names might irritate / confuse the command.
What keeps me from trying it is that, the user needs to be able to do multiple files from different directories and different file names, so what ended up happening is that from using
if there is a file with that name then all those files get taken. I am also having difficulties with trying to set it up due to me still learning bash.
The problem is also that the result of $(find . -name file) will be field split by the shell governed by the content of IFS which by default is space, TAB and newline, which means that is will not work for filenames that contain any of those characters.
IMO a better approach would be to use find's -exec action, which would not have this problem.
or alternatively use a while-loop:
Though the latter construct would fail with files that contain newline characters..
Dear community,
how can I create an array from file taking only the 4th field?
out.txt file is something like this:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20So the final array should be:
4 8 12 16 20With this command I created an array with all the fields, but I need only the 4th... (13 Replies)
I am having trouble creating an array, I've tried everything google gives me but it won't work, and it seems as though it should. Using Ubunto 12.04 and bash.
#!/bin/bash
ARRAY=one two three
echo ${ARRAY}When I do this I receive the error
: two: not found
and
: Bad substitution
When I... (3 Replies)
Hi gurus,
I need to create arrays from variables, via a loop.
The issue I have is with the array name creation. How do I use a variable to define an array?
I want to do something like
declare -a $H
where $H is my loop variable.
I then need to add items to each array I've created,... (3 Replies)
I have an interesting requirement. I have declaried an array like :-
arr=`find . ! -name "." | xargs -I {} echo {} | cut -c 2-${#}`
Then i will try to access the array elements like :-
i=0
for i in ${arr}; do
Here comes the confusions, the array elements are basically dir and files stored... (2 Replies)
I am facing a strange error while creating posix threads:
Given below are two snippets of code, the first one works whereas the second one gives a garbage value in the output.
Snippet 1
This works:
--------------
int *threadids;
threadids = (int *) malloc (num_threads * sizeof(int));
... (4 Replies)
i want to create an array
the array elements are populated depending upon the number of entries present in a data file
The data file is created dynamically
how to achieve the same
thanks (1 Reply)
Hi all,
i am quite fimiliar with shell scripting but i wouldn't regard myself as a semi professional at it.
I am trying to create an array variable to read in 4 lines from a file using head and tail command in a pipeline and store each line into each array. I have done the scripting in unix... (2 Replies)
Hi,
Is it possible to create a dynamic array in shell script. I am trying to get the list of logfiles that created that day and put it in a dynamic array. I am not sure about it. help me
New to scripting
Gundu (3 Replies)