Need help with Cut command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Need help with Cut command
# 1  
Old 05-14-2010
Question Need help with Cut command

Hi

I am using 'find' on a particular directory which has some subdirectories too,so when I search for .txt files from the parent directory, it gives all files that matches the pattern in the parent aswellas in the sub directories .
eg:
Iam at /a/b/c
where c has many other directories in it
so when I use find at /a/b/c as " find . -type f -name ".txt" -mtime +6"
it gives me the result like this...
Code:
/a/b/c/20060530_PFCA.txt
/a/b/c/20060530_PFCA_NYC.txt
/a/b/c/20060530_USConvProp.txt
/a/b/c/c1/20060530_USConvProp.txt
/a/b/c/c1/c2/20060530_RES.txt
/a/b/c/c1/c2/c3/20060530_IR_RES.txt

Now I need only the filenames from the above result,As far I know cut command didnt help to get my requirement

Can anyone helpme how can I get only the filenames(eg:20060530_PFCA.txt) from the above result by using "cut" command or with anyother command..

Many thanx in advance...

Last edited by Scott; 05-14-2010 at 08:17 AM.. Reason: Code tags, please...
# 2  
Old 05-14-2010
Try
Code:
find . -type f -name ".txt" -mtime +6 | sed 's/\/.*\///g'

# 3  
Old 05-14-2010
Perfect! Many thanx !!
# 4  
Old 05-14-2010
Other options:
Code:
$ find . -type f -name ".txt" -mtime +6 | awk -F/ '{print $NF}'
$ find . -type f -name ".txt" -mtime +6 | awk -F/ '{print $NF}' | while read path; basename $path; done

# 5  
Old 05-14-2010
Could you pls explain me how it works(sed 's/\/.*\///g')?
# 6  
Old 05-14-2010
It matches, and removes everything between and including the first and last slash characters

Perhaps a bit more readable is:

Code:
$ find . -type f -name ".txt" -mtime +6 | sed 's|.*/||g'

An alternative:
Code:
$ find . -type f -name ".txt" -mtime +6 | xargs -n1 basename

These 2 Users Gave Thanks to Scott For This Post:
# 7  
Old 05-14-2010
Thanks for the above,can anyone pls tell me how can I exclude searching a particular directory using 'find'

for eg: in the path /a/b/c, c1,c2 are two directories
I want find to skip the c2 directory,I opted several ways that didnt help

could you pls help

thanx
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Discussion started by: scrutinizerix
9 Replies

2. Shell Programming and Scripting

Cut command

Hi All, I am a beginner learning shell script, Would it be possible to use -c and -f in cut command together ? Example : /opt/oracle/work/Antony/Shell_Script> cat shortlist 2233|a.k. shukula |g.m. |sales2 |12/12/52 |6000 1006|chanchal singhvi ... (3 Replies)
Discussion started by: Antony Ankrose
3 Replies

3. AIX

Need help on cut command

HI, i have data in one variable like out=/usr/sbin/filename and i want output like only out=filename how to do (5 Replies)
Discussion started by: sumanthupar
5 Replies

4. UNIX for Dummies Questions & Answers

Cut pid from ps using cut command

hay i am trying to get JUST the PID from the ps command. my command line is: ps -ef | grep "mintty" | cut -d' ' -f2 but i get an empty line. i assume that the delimiter is not just one space character, but can't figure out what should i do in order to do that. i know i can use awk or cut... (8 Replies)
Discussion started by: ran ber
8 Replies

5. Shell Programming and Scripting

Cut Command error cut: Bad range

Hi Can anyone what I am doing wrong while using cut command. for f in *.log do logfilename=$f Log "Log file Name: $logfilename" logfile1=`basename $logfilename .log` flength=${#logfile1} Log "file length $flength" from_length=$(($flength - 15)) Log "from... (2 Replies)
Discussion started by: dgmm
2 Replies

6. Shell Programming and Scripting

cut command help

n2=user1 pts/3 2010-06-29 01 Now i want to split this string with space(' ') character. After splitting output would be: use1 pts/3 2010-06-29 01 I did: nn=${n2} | cut -d ' ' -f2 echo ${nn} It prints nothing. I want the output: pts/3 (2 Replies)
Discussion started by: cola
2 Replies

7. AIX

Use of Cut Command

Hi All, Can anyone tell me how to use cut command?I have tried but its not working...Please find the details below : $ cat file1 SlNo. E_ID E_Name Age Dept 1 123 A 20 Electrical 2 124 B 20 Electronics 3 125 C 24 Computer 4 126 D 23 Mechanical ... (3 Replies)
Discussion started by: Puja Sharma
3 Replies

8. UNIX for Dummies Questions & Answers

Cut Command help

Hi , I am new to Unix.I have a shell script whenere I wnat to find if a particular server is running and kill all the instances of it (running on different ports) script filename to start the srever is say abcd If i do ps -eaf | grep abc I get all the instances of srever running .In the... (1 Reply)
Discussion started by: shradham
1 Replies

9. UNIX for Dummies Questions & Answers

CUT Command

Hi, Can anyone tell me if I can apply multiple cut on a single variable like below in a sh script: tmp=`cut -c 1-4 $val` tmp1=`cut -c 5-12 $val` tmp2=`cut -c 13-18 $val` If not, what is the other way to do this. Thanks and Best Regards Shoeb (17 Replies)
Discussion started by: shoeb_syed
17 Replies
Login or Register to Ask a Question