08-11-2007
You can use sed to strip away the file name. For example, this will sum up the line count for an entire directory and save it as $I.
I=0
for LINES in $(wc -l * | sed -e "s/^ *\([0-9]*\) .*/\1/")
do
(( I += LINES ))
done
echo $I
The tr and cut commands could also be used as in
... for LINE in $(wc -l * | tr -s " " "\t" | cut -f2) ...
But for very large files, the line count could extend to the left-most column and you'd end up cutting the wrong field.
Your example would be written as:
expr $(wc -l filename | sed -e "s/^ *\([0-9]*\) .*$/\1/") / 2
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant.
THX! (2 Replies)
Discussion started by: Z0mby
2 Replies
2. Programming
I had seen this error for the first time .....
error: initializer expression list treated as compound expression
please help.... (12 Replies)
Discussion started by: arunchaudhary19
12 Replies
3. Shell Programming and Scripting
Hi,
I am trying to do a percentage calculation in a Bourne shell script. The following works fine, but when I try to subsitute the values 153824 and 246000 for variables (e.g. used and limit), I get errors.
calc()
{
awk 'BEGIN {OFMT="%f"; print '"$*"'; exit}'
}
calc '(153824 /... (3 Replies)
Discussion started by: shorehil
3 Replies
4. UNIX for Dummies Questions & Answers
Hello all,
I'd like to know how to perform arithmetic on multiple files. I have got many tab-delimited files. Each file contains about 2000 rows and 2000 columns.
What I want to do is to to sum the values in each row & column in every file.
The following explains what I want to do;
... (9 Replies)
Discussion started by: Muhammad Rahiz
9 Replies
5. Programming
I have a fundamental question on C pointer arithmetry..
Suppose i have a c string pointer already pointing to a valid location, Can I just do a
charptr = charptr +1;
to get to the next location, irregardless if my program is 32 or 64 bits?
or should i do it this way:
charptr =... (1 Reply)
Discussion started by: Leion
1 Replies
6. Shell Programming and Scripting
CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error.
source $CA_VERSION_DATA
if * ]
then
echo "CA_RELESE $CA_RELEASE is invalid"
exit -1
fi
+ source /etc/ncgl/ca_version_data
++ CA_PRODUCT_ID=samxts
++ CA_RELEASE=6
++ CA_WEEK_NO=7
++... (3 Replies)
Discussion started by: ketkee1985
3 Replies
7. Programming
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
Discussion started by: jessy83
1 Replies
8. UNIX for Advanced & Expert Users
Hello All,
I'm trying to extract the lines between two consecutive elements of an array from a file.
My array looks like:
problem_arr=(PRS111 PRS213 PRS234)
j=0
while } ]
do
k=`expr $j + 1`
sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt
---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies
9. Shell Programming and Scripting
Hello All,
Not sure why this is happening...
When the following If Statement is evaluated for some reason it is creating a file in the CWD called '0'. I've seen this happen
before, just not in an If Statement...
CODE:
if
then
DIR_NAME="$1"
DIR_SIZE=0
STATUS=""
else... (3 Replies)
Discussion started by: mrm5102
3 Replies
10. Shell Programming and Scripting
Hello fellow forum members,
I wrote below piece of code to calculate the date after a given date -
date=$DATE_FINAL
declare -a max_month=(0 31 28 31 30 31 30 31 31 30 31 30 31)
eval $(echo $date|sed 's!\(....\)\(..\)\(..\)!year=\1;month=\2;day=\3!')
(( year4=year%4 ))
(( year100=year%100... (9 Replies)
Discussion started by: ektubbe
9 Replies
LEARN ABOUT SUSE
arithmetic
ARITHMETIC(6) BSD Games Manual ARITHMETIC(6)
NAME
arithmetic -- quiz on simple arithmetic
SYNOPSIS
arithmetic [-o +-x/] [-r range]
DESCRIPTION
arithmetic asks you to solve problems in simple arithmetic. Each question must be answered correctly before going on to the next. After
every 20 problems, it prints the score so far and the time taken. You can quit at any time by typing the interrupt or end-of-file character.
The options are as follows:
-o By default, arithmetic asks questions on addition of numbers from 0 to 10, and corresponding subtraction. By supplying one or more
of the characters +-x/, you can ask for problems in addition, subtraction, multiplication, and division, respectively. If you give
one of these characters more than once, that kind of problem will be asked correspondingly more often.
-r If a range is supplied, arithmetic selects the numbers in its problems in the following way. For addition and multiplication, the
numbers to be added or multiplied are between 0 and range, inclusive. For subtraction and division, both the required result and the
number to divide by or subtract will be between 0 and range. (Of course, arithmetic will not ask you to divide by 0.) The default
is 10.
When you get a problem wrong, arithmetic will remember the numbers involved, and will tend to select those numbers more often than others, in
problems of the same sort. Eventually it will forgive and forget.
arithmetic cannot be persuaded to tell you the right answer. You must work it out for yourself.
DIAGNOSTICS
``What?'' if you get a question wrong. ``Right!'' if you get it right. ``Please type a number.'' if arithmetic doesn't understand what you
typed.
SEE ALSO
bc(1), dc(1)
BSD
May 31, 1993 BSD