Sponsored Content
Full Discussion: problem with output.
Homework and Emergencies Homework & Coursework Questions problem with output. Post 302415949 by Scott on Friday 23rd of April 2010 09:06:10 PM
Old 04-23-2010
Hi.

Start by removing the spaces when assigning variables. The shell doesn't like it. Your expr commands, per se, are fine.

i.e.
Code:
rfiles = `expr $rfiles + 1`

Should be
Code:
rfiles=`expr $rfiles + 1`

If you said
Code:
X = 1

you've more chance of starting X-Windows than assinging 1 to variable X!

I would recommend not using expr, or backticks `

The shell has more elegant ways of doing this kind of thing without either.

i.e.
Code:
$ X=1
$ ((X = X + 1))
$ echo $X
2

Or
Code:
$ X=1
$ X=$((X + 1))
$ echo $X
2

It's also good practice to quote variables.

So:
Code:
if [ ! -d $file ]

Should be:
Code:
if [ ! -d "$file" ]

And it's generally not good to pass unknown-sized argument lists to commands in this way:
Code:
for filename in $file/*

Better is to write everything to a file, and then use a construct more like:
Code:
while read A B C etc; do
...
done < file

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

problem with who -u output

I am using sco unix ver 5. who -u output lists the user name, tty,idle time and PID of the process. When I kill the idle process using kill -9 PID, the process is killed and the who -u output doesn't contain the user which is killed. This out of who -u is correct and desirable. But for past week, I... (0 Replies)
Discussion started by: V.V.KUMAR
0 Replies

2. UNIX for Dummies Questions & Answers

Output Problem

What do I have to do to get the startup and shutdown Info to display on my Graphical Monitor. As of right now, all i get is the log in screen for X windows on HP-UX. I want to see the boot process (3 Replies)
Discussion started by: Eric_Bakken
3 Replies

3. Shell Programming and Scripting

Problem in output

When i use the following command to get only the ip address from a file then i get a whole sentence and not only the ip address which i want. here is the script i am using: grep '^\{1,3\}\.\{1,3\}\.\{1,3\}\.\{1,3\}$' for example if this the file content: Many blogs provide commentary or... (2 Replies)
Discussion started by: snake450
2 Replies

4. Shell Programming and Scripting

output formatting problem

I would like to keep the complete lines in the output, but my script adds carriage returns for each space (e.g. keep BRITISH AIRWAYS on one line in the output): File1= BAW BRITISH AIRWAYS RYR RYAN AIR for i in $(cat File1) do echo $i done Output: BAW BRITISH AIRWAYS RYR... (4 Replies)
Discussion started by: barny
4 Replies

5. Programming

Problem with output

Hey guys, i am having problem with displaying my text. my text file is displayed in such a way and is called test....... Sam Worthington ... Jake SullyasZoe Saldana ... NeytiriasSigourney Weaver ... Dr. Grace AugustineasStephen Lang ... Colonel Miles QuaritchasJoel Moore ... Norm Spellman (as... (1 Reply)
Discussion started by: gregarion
1 Replies

6. Shell Programming and Scripting

output problem

#!/bin/gawk -f BEGIN{} {if ($0~/<a/ || $0~/<img/) link=link+1 } {if ($0~/<a/ || $0~/<img/) cnt++ } {if ($0~/<a/ && $0~/http/ ) weblink++ } {if ($0~/<img/) filelink++ } {if ($0~/<a/ && $0!~/http/) downloadlink++ } (8 Replies)
Discussion started by: pantelis
8 Replies

7. UNIX for Dummies Questions & Answers

Problem adjusting the output

Hi i m running a command watch -n 1 -d netstat -i to see the packet drops every 1 second. but the problem is the output is so long(Due to large number of virtual interfaces) it doesn't fit into the putty prompt. I dont need to monitor each and every network interface I m more interested in... (5 Replies)
Discussion started by: pinga123
5 Replies

8. UNIX for Dummies Questions & Answers

Grep output problem

Hi all, Here is my problem: I'm testing a login script for our mac Machines. This script output's in a csv file. The login script looks like this: echo "${computername}|${data1}|${data2}|${data3}" >> file.csv The csv file looks like this: Computername1|data1|data2|data3... (4 Replies)
Discussion started by: mattiasvdm
4 Replies

9. Shell Programming and Scripting

Problem getting the required output

I need a Korn shell script which does the folllowing:- If there is one "|" (pipe) delimited file so, the script should check the 5th field to be blank or not. if it is a blank tht entire line of the file should be redirected to another file. if the 5th field is not blank it should pass that. ... (4 Replies)
Discussion started by: Juhi Kashyap
4 Replies

10. Shell Programming and Scripting

Output formatting problem

Hello; I have a simple loop filtering a log: for LU in $(< LU-list-Final) do OUT=$(grep -B1 $LU cibc-src-ip.cap |egrep 'IP 16|IP 19|IP 15' |awk -F">" '{print $1}') if ; then echo " LU $LU was accessed by ===============> $OUT " echo "" fi done The current output snippet looks like... (2 Replies)
Discussion started by: delphys
2 Replies
expr(1) 						      General Commands Manual							   expr(1)

Name
       expr - evaluate expressions

Syntax
       expr arg...

Description
       The arguments are taken as an expression.  After evaluation, the result is written on the standard output.  Each token of the expression is
       a separate argument.

       The operators and keywords are listed below.  The list is in order of increasing precedence, with equal precedence operators grouped.

       expr | expr	   Yields the first expr if it is neither null nor 0.  Otherwise yields the second expr.

       expr & expr	   Yields the first expr if neither expr is null or 0.	Otherwise yields 0.

       expr relop expr	   The relop is one of < <= = != >= > and yields 1 if the indicated comparison is true, '0' if false.  The  comparison	is
			   numeric if both expr are integers, otherwise lexicographic.

       expr + expr
	    expr - expr
			   Yields addition or subtraction of the arguments.

       expr * expr
	    expr / expr
	    expr % expr
			   Yields multiplication, division, or remainder of the arguments.

       expr : expr	   The	matching  operator compares the string first argument with the regular expression second argument; regular expres-
			   sion syntax is the same as that of The (...) pattern symbols can be used to select a portion of the  first  argument.
			   Otherwise, the matching operator yields the number of characters matched ('0' on failure).

       ( expr ) 	   parentheses for grouping.

Examples
       The first example adds 1 to the Shell variable a:
       a=`expr $a + 1`
       The second example finds the file name part (least significant part) of the pathname stored in variable a,
       expr $a : '.*/(.*)' '|' $a
       Note the quoted Shell metacharacters.

Diagnostics
       The command returns the following exit codes:

       0    The expression is neither null nor '0'.

       1    The expression is null or '0'.

       2    The expression is invalid.

See Also
       ed(1), sh(1), test(1)

																	   expr(1)
All times are GMT -4. The time now is 04:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy