Have you tried reading the data into an array which would allow you to avoid the substring overhead which I believe is costing you. Your original code ran in about 4 seconds for me using Bash and less than a second with Kshell. The code below, which reads and processes the array, runs much faster under both:
Kshell .07s
Bash .17s
Maybe I'm missing something but this seems to perform pretty well.
Code:
# "decimalstring" is an array of the first 8192 bytes from the input file
# (the variable name is now misleading, but I left it the same as in the original code)
decimalstring=( $( hexdump -n8192 -s0 -v -e '1/1 "%u "' input-file ) )
n=0
m=0
printf "\nStart!"
# Start position of slow loop.
for (( i = 0; i < 8192; i++ ))
do
if (( ${decimalstring[$i]} >= 127 ))
then
((m++))
else
((n++))
fi
done
# End position of slow loop.
printf "\n\nDone!, m=$m, n=$n...\n\n"
The raw output:
Code:
spot:[/home/scooter/src/test]time bash tt18
Start!
Done!, m=2063, n=6129...
real 0m0.17s
user 0m0.17s
sys 0m0.01s
spot:[/home/scooter/src/test]time ksh tt18
Start!
Done!, m=2063, n=6129...
real 0m0.07s
user 0m0.06s
sys 0m0.01s
Last edited by agama; 05-26-2013 at 11:22 PM..
Reason: code tag broken
Hello,
I have a korn shell string variable
str1 = "A,B,Z"
I would like to create another korn shell string variable
str2 = "letter = 'A' or letter = 'B' or letter = 'Z' "
Please help!
Thanks in advance
an UNIX newbie! (13 Replies)
Hey Guys,
Right i know how to alter a word to begin with a capital letter, i know how to remove unwanted characters and replace them with the relevant character however i don't now if there is a way to do them all in one line.
Code:
echo -n ${string:0:1} | tr a-z A-Z #convert first letter... (4 Replies)
i have a file that contains a pattern like this:
ajay 1234 newyork available
kumar 2345 denver
singh 2345 newyork
ajay 3456 denver
kumar 3456 newyork
singh 3456 delhi available
ajay 4567 miami
kumar 4567 miami
singh 4567 delhi
i want to search for each line... (5 Replies)
if I have two string variable, how do I add one to anther.
like
a= "a"
b="b"
c=$a+$b
but that doesn't work.
Is there anyway to solve it.http://www.qtl.co.il/img/copy.pnghttp://www.google.com/favicon.icohttp://www.babylon.com/favicon.icohttp://www.morfix.com/favicon.ico (2 Replies)
Hi Guru's,
I need some help with data manipulation using shell scripting. I know how to replace the whole string but not part of the string.
The value after aa= should be replaced with the value in the mail leaving ,OU=111,OU=222,DC=333 as is. Below are the inputs and expected outputs.
Input:... (17 Replies)
Hi,
I have the followoing details in one file:
opt/tra/domain/test/new/filename1
training/ear/help
I need to manipulate the string in the following manner:
filename1= opt/tra/domain/test/new/filename1
help=training/ear/help
last string is the name and equal sign and then... (2 Replies)
i have something like this...
echo "teCertificateId" | awk -F'Id' '{ print $1 }' | awk -F'te' '{ print $2 }'
Certifica
the awk should remove 'te' only if it is present at the start of the string.. anywhere else it should ignore it.
expected output is
Certificate (7 Replies)
Hi ,
I am getting a string like
aaa,bbb,sdsdad,sdfsdf,sdfsdfdsf,rtyrtyr,45654654,ddfdfdfgdfg,dfgdfgdg...........
Now what I need is to format it.
So after each nth comma I need one newline. So the above will look like
when n=3
aaa,bbb,sdsdad,
sdfsdf,sdfsdfdsf,rtyrtyr,... (4 Replies)
I'm making a little game in Perl, and I am trying to remove the first instance of a character in an arbitrary string. For example, if the string is
"cupcakes"and the user enters another string that contains letters from "cupcake" e.g:
"sake"the original string will now look like this (below)... (3 Replies)
i have a string that am looking to extract all characters following 3 consecutiv numbers.
Example my string is J1705PEAN038TDMN, i need to get TDMN
My string can have multiple 3 consecutive numbers, i need what follows last occurance (9 Replies)
Discussion started by: gigagigosu
9 Replies
LEARN ABOUT POSIX
times
TIMES(1P) POSIX Programmer's Manual TIMES(1P)PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the correspond-
ing Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.
NAME
times -- write process times
SYNOPSIS
times
DESCRIPTION
The times utility shall write the accumulated user and system times for the shell and for all of its child processes, in the following
POSIX locale format:
"%dm%fs %dm%fs
%dm%fs %dm%fs
", <shell user minutes>,
<shell user seconds>, <shell system minutes>,
<shell system seconds>, <children user minutes>,
<children user seconds>, <children system minutes>,
<children system seconds>
The four pairs of times shall correspond to the members of the <sys/times.h> tms structure (defined in the Base Definitions volume of
POSIX.1-2008, Chapter 13, Headers) as returned by times(): tms_utime, tms_stime, tms_cutime, and tms_cstime, respectively.
OPTIONS
None.
OPERANDS
None.
STDIN
Not used.
INPUT FILES
None.
ENVIRONMENT VARIABLES
None.
ASYNCHRONOUS EVENTS
Default.
STDOUT
See the DESCRIPTION.
STDERR
The standard error shall be used only for diagnostic messages.
OUTPUT FILES
None.
EXTENDED DESCRIPTION
None.
EXIT STATUS
Zero.
CONSEQUENCES OF ERRORS
Default.
The following sections are informative.
APPLICATION USAGE
None.
EXAMPLES
$ times
0m0.43s 0m1.11s
8m44.18s 1m43.23s
RATIONALE
The times special built-in from the Single UNIX Specification is now required for all conforming shells.
FUTURE DIRECTIONS
None.
SEE ALSO
Section 2.14, Special Built-In Utilities
The Base Definitions volume of POSIX.1-2008, <sys_times.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2013 Edition, Standard for Information Technol-
ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. (This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Stan-
dard is the referee document. The original Standard can be obtained online at http://www.unix.org/online.html .
Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source
files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .
IEEE /The Open Group 2013 TIMES(1P)