Listing all the files names not starting as


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Listing all the files names not starting as
# 1  
Old 11-23-2008
Listing all the files names not starting as

hello all,
iam new to shell scripting.I have searched the forum and could'nd find a close enough answer and hence this post:

I want to list all the file names whose names don't start as abc.

For example if my folder constains files with names: abc123.txt,erdf23.rdf,ed45r.fmb

i want a command which will list only files erdf23.rdf,ed45r.fmb and omit the file abc123.txt.

the ls command does'nt seem to have a -not option
# 2  
Old 11-23-2008
Code:
ls -1 !(abc*)

If you have files in underlying directories and you want to omit them:

Code:
ls -ld !(abc*)|awk '!/^d/{print $NF}'

# 3  
Old 11-23-2008
Perfect Franklin...Thank You very much
# 4  
Old 11-23-2008
Quote:
Originally Posted by Franklin52
Code:
ls -1 !(abc*)

If you have files in underlying directories and you want to omit them:

Code:
ls -ld !(abc*)|awk '!/^d/{print $NF}'

Sorry Frank ...If i have to elimiate more than one name in the file how do i do it?

i mean don't select files whose name starting with abc or efg

ls -ld !(abc*,efg*)|awk '!/^d/{print $NF}' don't seem to work
# 5  
Old 11-23-2008
Try this:
Code:
ls -l |awk '/^-/ && $NF !~ /^abc/ && $NF !~ /^efg/ {print $NF}'

# 6  
Old 11-24-2008
Quote:
Originally Posted by Franklin52
Try this:
Code:
ls -l |awk '/^-/ && $NF !~ /^abc/ && $NF !~ /^efg/ {print $NF}'

Thanks Frank when I assign this code to a variable and try to print the variable contents it just prints nothing.

I do this:

FILELIST=`ls -l |awk '/^-/ && $NF !~ /^abc/ && $NF !~ /^efg/ && $NF ~ /.out/ {print $NF}'`
echo $FILELIST


Neither does this work:
FILELIST=`echo ls -l |awk '/^-/ && $NF !~ /^abc/ && $NF !~ /^efg/ && $NF ~ /.out/ {print $NF}'`
echo $FILELIST

Please help..Ideally it shold be printing the file name whose extension is .out and not begining with abc or efg
# 7  
Old 11-24-2008
It should work, post the output of ls -l within code brackets.

Regards
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Listing column names in CSV file

Hi, I have a .csv file that has ~600 columns and thousands of rows. I would like to create a numerical list of the column names (so that I can later easily select the columns I want to extract). The format that I would hope for is something like: 1 "ID" 2 "X" 3 "Y" .. 600 "Z" ... (4 Replies)
Discussion started by: aberg
4 Replies

2. Shell Programming and Scripting

Exclude certain file names while selectingData files coming in different names in a file name called

Data files coming in different names in a file name called process.txt. 1. shipments_yyyymmdd.gz 2 Order_yyyymmdd.gz 3. Invoice_yyyymmdd.gz 4. globalorder_yyyymmdd.gz The process needs to discard all the below files and only process two of the 4 file names available ... (1 Reply)
Discussion started by: dsravanam
1 Replies

3. Shell Programming and Scripting

Listing the file name and no of records in each files for the files created on a specific day

Hi, I want to display the file names and the record count for the files in the 2nd column for the files created today. i have written the below command which is listing the file names. but while piping the above command to the wc -l command its not working for me. ls -l... (5 Replies)
Discussion started by: Showdown
5 Replies

4. UNIX for Dummies Questions & Answers

[Solved] Listing files starting with p or f and with the exact length of 3 characters

Hello, I need some help. How can I list files starting with p or f and with the exact length of 3 characters? (2 Replies)
Discussion started by: airbebe
2 Replies

5. Shell Programming and Scripting

Get all File names starting with letter P

Hi, I have lets say 10 files , I need to process them one by one. So I need a command to get one file name at a time to process it into a variable Example Files P1111.dat P3344.dat S344.dat ... v_file_name = 'p111.dat' .. I will rename it to something after processing ... (1 Reply)
Discussion started by: prassu
1 Replies

6. UNIX for Advanced & Expert Users

script regarding listing long group names

Hello, When listing the file systems (using ls -ltr) , if the group names are longer the group name is getting truncated. Can someone help with the script which would display the truncated group name? I appreciate if someone could help in this regard. (1 Reply)
Discussion started by: mike12
1 Replies

7. Shell Programming and Scripting

Listing file names as soon as they are created

Hi, I have been looking for a method to list file names as soon as they are created. I have used the following command : find . -name "*.xml" -mmin -2 -exec ls --full-time {} \; | sort -k6 this finds all xml files created in the last 2 minutes and orders them by time. The problem is that... (7 Replies)
Discussion started by: phil.e.b
7 Replies

8. Shell Programming and Scripting

perl script for listing files and mailing the all files

Hi, I am new to perl: I need to write perl script to list all the files present in directory and mail should be come to my inbox with all the files present in that directory. advanced thanks for valuable inputs. Thanks Prakash GR (1 Reply)
Discussion started by: prakash.gr
1 Replies

9. UNIX for Dummies Questions & Answers

Listing full file names with the exact length of 3 characters

This is what I have to do: Display the full file name (including the full path) and file size of all files whose name (excluding the path) is exactly 3 characters long. This is the code I have: find / -printf "Name: %f Path: %h Size: %s (bytes)\n" 2>/dev/null | grep -E "Name: .{3,} Path" |... (7 Replies)
Discussion started by: Joesgrrrl
7 Replies

10. UNIX for Dummies Questions & Answers

Recursive directory listing without listing files

Does any one know how to get a recursive directory listing in long format (showing owner, group, permission etc) without listing the files contained in the directories. The following command also shows the files but I only want to see the directories. ls -lrtR * (4 Replies)
Discussion started by: psingh
4 Replies
Login or Register to Ask a Question