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..
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)
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)
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)
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 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)
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 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)
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)
Discussion started by: Lord Spectre
13 Replies
LEARN ABOUT LINUX
shtool-echo
SHTOOL-ECHO.TMP(1) GNU Portable Shell Tool SHTOOL-ECHO.TMP(1)NAME
shtool-echo - GNU shtool echo(1) extensional command
SYNOPSIS
shtool echo [-n|--newline] [-e|--expand] string
DESCRIPTION
shtool echo is an echo(1) style command which prints string to stdout and optionally provides special expansion constructs (terminal bold
mode, environment details, date, etc) and newline control. The trick of this command is that it provides a portable -n option and hides the
gory details needed to find out the environment details under option -e.
OPTIONS
The following command line options are available.
-n, --newline
By default, output is written to stdout followed by a "newline" (ASCII character 0x0a). If option -n is used, this newline character is
omitted.
-e, --expand
If option -e is used, string can contain special "%x" constructs which are expanded before the output is written. Currently the
following constructs are recognized:
%B switch terminal mode to bold display mode.
%b switch terminal mode back to normal display mode.
%u the current user name.
%U the current user id (numerical).
%g the current group name.
%G the current group id (numerical).
%h the current hostname (without any domain extension).
%d the current domain name.
%D the current day of the month.
%M the current month (numerical).
%m the current month name.
%Y the current year.
EXAMPLE
# shell script
shtool echo -n -e "Enter your name [%B%u%b]: "; read name
shtool echo -e "Your Email address might be %u@%h%d"
shtool echo -e "The current date is %D-%m-%Y"
HISTORY
The GNU shtool echo command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 1998 for Website META Language (WML)
under the name buildinfo. It was later taken over into GNU shtool.
SEE ALSO shtool(1), echo(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-ECHO.TMP(1)