xargs expr ...+


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting xargs expr ...+
# 1  
Old 09-21-2012
xargs expr ...+

I would like to use expr on stdin, but I know it doesn't work. I have seen this syntax:
Code:
ls -l|wc -l | xargs expr -3 +

and it seems to do what I need, but could someone explain what the final + is for and why it doesn't work if I run:
Code:
ls -l|wc -l | xargs expr +3 +

Thanks in advance!

Last edited by Franklin52; 09-21-2012 at 08:16 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 09-21-2012
try..
+ means add -3 to the wc -l o/p however when you wanna add +3 please mention 3 and not +3
Code:
 ls -l|wc -l | xargs expr 3 +

# 3  
Old 09-21-2012
Great! Now I understand it, I'm much happier using this syntax.

Thanks for your quick reply
# 4  
Old 09-21-2012
When a pipeline's output is just a single value, there's usually no need or benefit in using xargs. A simple command substitution will do.

I said "usually" above because xargs treats quotes specially and that could be useful in some scenarios (though not this one, which only produces numeric strings).

Code:
expr $(ls -l | wc -l) - 3

Why you're using ls' long format just to count lines is puzzling, but not germane to my point.

Regards,
Alister

Last edited by alister; 09-21-2012 at 10:35 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nn$( expr $n + 1)

HI there I am trying to understand Shell scripting to create my own, I am attempting a few examples can anyone tell me what this means?n=$( expr $n + 1)Tried looking on the internet, but just cannot find its anywhere :( .Help please (4 Replies)
Discussion started by: steve2015
4 Replies

2. Shell Programming and Scripting

If + expr

Hi I have bellow script: t1=`cat node1.txt | grep thread1 | cut -f2 -d '-'` t2=`cat node2.txt | grep thread2 | cut -f2 -d '-'` t3=`cat node1_rcat.txt | grep thread1 | cut -f2 -d '-'` t4=`cat node2_rcat.txt | grep thread2 | cut -f2 -d '-'` if ]; then echo "no restore" >> log.log... (6 Replies)
Discussion started by: primo102
6 Replies

3. Shell Programming and Scripting

Error with expr - "expr: syntax error"

Hi All, I'm writing a shell script in KSH, where I want to store the filename, total record count and actual record count of all the source files. The source files reside in 4 different sub-folders under the same root folder. Below is code: #!/usr/bin/ksh... (6 Replies)
Discussion started by: jagari
6 Replies

4. UNIX for Dummies Questions & Answers

expr ?!

Hey there i want to subtract the content from $b from $a. Each variable has got 18 values (normal numbers from 0 - 99). How can i subtract them? I know i have to use the expr command, this is what i have till now: a=`cat Tabelle.dat | awk {'print $4'} | awk -F: {'print $1'}` b=`cat... (1 Reply)
Discussion started by: Mad van Bert
1 Replies

5. Shell Programming and Scripting

the expr \*

$ cat > mtable #!/bin/sh # #Script to test for loop # # if then echo "Error - Number missing form command line argument" echo "Syntax : $0 number" echo "Use to print multiplication table for given number" exit 1 fi n=$1 for i in 1 2 3 4 5 6 7 8 9 10 do echo "$n * $i = `expr $i \*... (1 Reply)
Discussion started by: jackel7777
1 Replies

6. Shell Programming and Scripting

expr not working

I have written below script which monitors a log file and if log file is not writting for 2 intervels then admin should be notified. ================ sh=`date | awk '{print $4}' | cut -d ":" -f1` sm=`date | awk '{print $4}' | cut -d ":" -f2` lh=`ls -l /opt/Heartbeat.log | awk '{print $8}' |... (5 Replies)
Discussion started by: paventhan
5 Replies

7. Shell Programming and Scripting

expr not working

I am trying to get some coubt through the following code. tot_ln_cnt=`wc -l ${OUTPUT_FILE_NAME}` echo "tot_ln_cnt : "$tot_ln_cnt fl_cnt=`ls -lrt *edi | wc -l` echo "fl_cnt : "$fl_cnt exclude_cnt=`expr $fl_cnt \* 2` echo "exclude_cnt : "$exclude_cnt ln_cnt=`expr $tot_ln_cnt - $exclude_cnt`... (4 Replies)
Discussion started by: mady135
4 Replies

8. Shell Programming and Scripting

test expr VS [ expr ]

What is the difference between test expr VS . For example : if test 5 -eq 6 echo "Wrong" and if echo "Wrong" bot will give the same output as Wrong. Now, what is the difference between these two? though they are producing the same result why we need two? Any answer will be... (2 Replies)
Discussion started by: ashok.g
2 Replies

9. Red Hat

how to use expr

i am new to shell programming, currently using redhat linux of version 2.4.20-8. i have problem in executing expr command in the following shell script $ x=5 $ x='expr $x + 1' $ echo $x the output is displaying always expr $x + 1 Pls guide me for the above query (3 Replies)
Discussion started by: saikumarm80
3 Replies

10. UNIX for Dummies Questions & Answers

expr

Hello! I want to evaluate some mathematical expressions in a script and I try to use 'expr' command. Unfortunatally, when I have, for example, expr 8.2 + 6 the result is 'expr: non-numeric argument' Why ? I work on SunOs 5.7. Thanks in advance Nathe (5 Replies)
Discussion started by: Nathe
5 Replies
Login or Register to Ask a Question