Sponsored Content
Full Discussion: Pipe to basename
Top Forums UNIX for Dummies Questions & Answers Pipe to basename Post 302949829 by neutronscott on Thursday 16th of July 2015 11:40:28 AM
Old 07-16-2015
I think the easy solution is to use cd first.
Use a subshell and you don't even need to remember where you were:

Code:
( cd /dir && wc -l txt* )

edit:

if you're just curious about the functionality of basename, it operates on a parameter and doesn't strip paths from stdin. so piping to it is not going to work. you'd have to read and split wc's output using the shell and feed it back into basename, like so:

Code:
wc -l ./temp/* | while read lines file; do
  echo "$lines $(basename "$file")"
done

but at this point you may as well continue using the shells feature of parameter expansion to save from calling external programs a whole lot:
Code:
  echo "$lines ${file##*/}"


Last edited by neutronscott; 07-16-2015 at 12:47 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

reverse of basename

Hi, Can someone let me know how to find the reverse of the basename i.e i have /apps/tiv/pmon/xxxx.dat and I want /apps/tiv/pmon/ Thanks (7 Replies)
Discussion started by: braindrain
7 Replies

2. Shell Programming and Scripting

basename problem

Hi guys if i do a=`basename -e -s /home/j/john/*` du -k -h $a | sort -nr | head -10 why when i run the script does it work but also say usage basename string any ideas thanks (9 Replies)
Discussion started by: musicmancanora4
9 Replies

3. Shell Programming and Scripting

basename $0

hi, can anyone help me by saying what is basename.. i have seen this in many programs where the basename is used.... thanks, Krips (4 Replies)
Discussion started by: kripssmart
4 Replies

4. UNIX for Dummies Questions & Answers

basename

Hi, can anyone let me know how to interpret the below third line in the following code. Gone through the man pages of "basename", but no go. for f in *.foo; do base=`basename $f .foo` mv $f $base.bar done Thanks. (2 Replies)
Discussion started by: venkatesht
2 Replies

5. Shell Programming and Scripting

Need help with basename command

I have a file fileinput.txt: File home/me/fileA.doc is size 232 File home/you/you/fileB.doc is size 343 File /directory/fileC.doc is size 433 File /directory/filed.doc cannot find file size I want to use the basename command (or any other command) to output: File fileA.doc is... (3 Replies)
Discussion started by: linuxkid
3 Replies

6. Shell Programming and Scripting

Difference between $0 and basename

Hi, Could you please help me to know the difference between $0 and basename in unix how they useful in shell scripting. Thanks in advance (3 Replies)
Discussion started by: lnviyyapu
3 Replies

7. UNIX for Dummies Questions & Answers

awk and basename

im trying to extract the basename of a process running on a host processx is running at host1 as /applications/myapps/bin/processx i wanted to check if its running, then extract the basename only using: $ ssh host1 "ps aux | grep -v 'grep' | grep 'processx'" | awk '{ print basename $11}' ... (10 Replies)
Discussion started by: kaboink
10 Replies

8. Shell Programming and Scripting

Basename in subshell

Hi All, I would like to improve my bash scripting skill and found a problem which I do not understand. Task is to search and print files in directory (and subdirecories) which contains its own name. Files can have spaces in name. This one works fine for files in main directory, but not for... (4 Replies)
Discussion started by: new_item
4 Replies

9. Shell Programming and Scripting

$(basename $0)

what is the meaning of "script_name=$(basename $0)", can someone please explain? (1 Reply)
Discussion started by: abhi200389
1 Replies

10. Shell Programming and Scripting

How to ignore Pipe in Pipe delimited file?

Hi guys, I need to know how i can ignore Pipe '|' if Pipe is coming as a column in Pipe delimited file for eg: file 1: xx|yy|"xyz|zzz"|zzz|12... using below awk command awk 'BEGIN {FS=OFS="|" } print $3 i would get xyz But i want as : xyz|zzz to consider as whole column... (13 Replies)
Discussion started by: rohit_shinez
13 Replies
basename(3C)						   Standard C Library Functions 					      basename(3C)

NAME
basename - return the last element of a path name SYNOPSIS
#include <libgen.h> char *basename(char *path); DESCRIPTION
The basename() function takes the pathname pointed to by path and returns a pointer to the final component of the pathname, deleting any trailing '/' characters. If the string consists entirely of the '/' character, basename() returns a pointer to the string "/" . If path is a null pointer or points to an empty string, basename() returns a pointer to the string "." . RETURN VALUES
The basename() function returns a pointer to the final component of path. USAGE
The basename() function may modify the string pointed to by path, and may return a pointer to static storage that may then be overwritten by a subsequent call to basename(). When compiling multithreaded applications, the _REENTRANT flag must be defined on the compile line. This flag should only be used in mul- tithreaded applications. EXAMPLES
Example 1 Examples for Input String and Output String +-----------------------------+-----------------------------+ | Input String | Output String | +-----------------------------+-----------------------------+ |"/usr/lib" |"lib" | +-----------------------------+-----------------------------+ |"/usr/" |"usr" | +-----------------------------+-----------------------------+ |"/" |"/" | +-----------------------------+-----------------------------+ ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
basename(1), dirname(3C), attributes(5), standards(5) SunOS 5.11 24 Jul 2002 basename(3C)
All times are GMT -4. The time now is 12:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy