LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
LinkBack Search this Thread
Old 07-24-2008, 03:52 AM   #1
baddah
Member
 
Registered: Feb 2006
Location: Cape Town,South Africa
Distribution: Fedora Core 8
Posts: 178

Rep: Reputation: 30
ls - Do not list full path only filename


Hi,

I'm doing the following command which gives me all the matching entries,but i'd like to see only the filename,not the full path,so i'm doing this..

Code:
[root@accountingdb scripts]# ls --format single-column /var/www/html/CSA20June/B_Berg/*20080620*
/var/www/html/CSA20June/B_Berg/ipB_Berg200806200001.cgi
but i only want the filename(ipB_Berg200806200001.cgi) returned.

IS there some way in ls to throw away the full path, and only list the filename? I went through the man pages, but i could not find anything. I've tried some pipe commands to grep as well, but my grep skills is not nearly good enough it seems.

Any suggestions how can i achieve this?

Thanks
 
Old 07-24-2008, 04:09 AM   #2
dipuasks
Member
 
Registered: Oct 2005
Location: India
Distribution: Redhat 7-9,Fedora Core 3 - 9, RHEL 4 -5, CentOS 4 - 5, Ubuntu 7.10 - 9.04, Mandirva 2008 -2009
Posts: 125

Rep: Reputation: 15
First redirect the whole output to a file say result.txt

Then count the number of / comes in the file path(I hope all the files are from same folder as per your above query) and run this command:

cut -d / -f# /path/to/result.txt

Where # is the number of slashes+1 i.e, for the path /var/www/html/CSA20June/B_Berg/ipB_Berg200806200001.cgi, the # should be 7.

I am not a scripting master, I had got this solution for a similar problem earlier and it works!


--Dipu
----------------------------
Windows? reboot. Linux? Be root!!

http://www.smartdipu.info
 
Old 07-24-2008, 04:10 AM   #3
arungoodboy
Member
 
Registered: Feb 2006
Distribution: Debian, Maemo
Posts: 341
Blog Entries: 3

Rep: Reputation: 37
You can prefix it with the basename command.
Code:
basename `ls /some/long/path/*extension`
will give you only the filename.

edit: apparently basename takes only one arg. To workaround that, xargs seems to do fine:
Code:
ls /some/path/*txt | xargs -n1 basename

Last edited by arungoodboy; 07-24-2008 at 04:17 AM. Reason: added better version
 
Old 07-24-2008, 04:36 AM   #4
baddah
Member
 
Registered: Feb 2006
Location: Cape Town,South Africa
Distribution: Fedora Core 8
Posts: 178

Original Poster
Rep: Reputation: 30
Quote:
Originally Posted by arungoodboy View Post
edit: apparently basename takes only one arg. To workaround that, xargs seems to do fine:
Code:
ls /some/path/*txt | xargs -n1 basename
This works perfectly thanks. I find it a bit strange that one can't do this directly from ls,but i guess as long as there is a way do do it, all is well.

Thanks
 
Old 07-24-2008, 04:58 AM   #5
arungoodboy
Member
 
Registered: Feb 2006
Distribution: Debian, Maemo
Posts: 341
Blog Entries: 3

Rep: Reputation: 37
If you actually cd to the folder first and then do ls, you'll get the filename like you want it. But when you pass the path to ls, it displays that path followed by the filename.
 
Old 03-06-2010, 05:29 PM   #6
toto10
LQ Newbie
 
Registered: Mar 2010
Posts: 1

Rep: Reputation: 0
Another way to list files using ls using only ls

ls -m1
 
Old 03-06-2010, 05:47 PM   #7
trey85stang
Senior Member
 
Registered: Sep 2003
Posts: 1,068

Rep: Reputation: 41
looks like ls -m1 is the weiner...

but if you need a loop to process the files.. id go like this

Code:
for f in /var/www/html/CSA20June/B_Berg/*20080620*
do
  echo ${f##/*/}
done
you could also test if $f is a direcotyr or not if you have directories you dont want to see....
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Shell: tr can only be used when given full path (despite being in $PATH) chochem Programming 2 06-27-2008 08:37 AM
using commands to output path, filename and info to a txt file bob_man_uk Linux - General 3 05-11-2006 02:31 PM
how to seperate filename from path in perl mengle Programming 2 08-28-2005 01:35 AM
how do i get the path of the filename linuxzouk Programming 25 06-10-2004 08:00 AM
path and filename of compressed kernel ? ohernandez Linux - General 3 05-29-2002 06:53 AM


All times are GMT -5. The time now is 03:52 AM.

Main Menu
 
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: @linuxquestions
Open Source Consulting | Domain Registration