How can i truncate filenmes?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How can i truncate filenmes?
# 8  
Old 07-31-2007
Hi Folks,

I just wanted to add something to the original problem,
What will i do if, i am not sure about the length of the file name, but only one thing that i want to remove only the last extension.
e.g. abcdXXXXXX.pqrXXXXX.asc (X is any character)
I want to trim only .asc (or,watever) so that resultant file name would be like abcdXXXXX.pqrXXXXX
# 9  
Old 07-31-2007
this,

Code:
echo "abcdXXXXXX.pqrXXXXX.asc" | awk -F"." '{ for ( i=1; i<NF; i++) { printf "%s", $i; if ( i < NF - 1 ) { printf "%s", "." } } printf "\n" }'

# 10  
Old 07-31-2007
Quote:
Originally Posted by vishal_ranjan
e.g. abcdXXXXXX.pqrXXXXX.asc (X is any character)
I want to trim only .asc (or,watever) so that resultant file name would be like abcdXXXXX.pqrXXXXX
Code:
fName="abcdXXXXXX.pqrXXXXX.asc"
echo ${fName%.*}

# 11  
Old 07-30-2008
PHP

Here's a more complex challenge (though not an arbitrary one)...

A user has many files with names that are too long, and they must be truncated to n characters, however the first n characters are the same. Can someone post a script that truncates to n-k characters and then counts up with k digits or uses k random characters, so as to avoid overwriting files?

Example:

really-long-filename-a.dat
really-long-filename-b.dat

Would be converted to:

really-long-fi_001.dat
really-long fi_002.dat

or

really-long-fi_vj3.dat
really-long-fi_w4p.dat


Another piece of code that would be very useful (and simpler I imagine) would be something that simply identifies which filenames located within a specified part of the filesystem have names in excess of n characters. Seems like a find piping into grep should do the trick. Some use of the {n,} operator would be involved... never had occasion to get my feet that wet with regexes.

Cheers!
# 12  
Old 07-30-2008
Quote:
Originally Posted by gumpish
Another piece of code that would be very useful (and simpler I imagine) would be something that simply identifies which filenames located within a specified part of the filesystem have names in excess of n characters.
Well that was easy enough...

Code:
find / | grep -E --regexp=[^/]\{n,\}

An intelligent truncator would still be nifty though. Smilie
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

recover the truncate file

hi All, how to recover the truncate file in unix. Thanks!:wall: (2 Replies)
Discussion started by: krbala1985
2 Replies

2. Shell Programming and Scripting

Truncate terminal output

Hello Using BASH under Ubuntu 10.4 lts + XMonad My script is almost perfect but i'm stuck at the last hurdle: I need a sort of modified 'echo' which truncates its output to the width of the terminal I can find the terminal's width with 'stty size' but i dont know how to then convert input... (2 Replies)
Discussion started by: scyptnex
2 Replies

3. Shell Programming and Scripting

Truncate string variable

Hi, I want to truncate a string variable, returned in the script. In perl I used the below and it worked. BRNo=BR12345 $BR = substr($BRNo, 2, 7) How can I do it in sh. Thanks ! (8 Replies)
Discussion started by: script2010
8 Replies

4. Shell Programming and Scripting

Truncate file name to 40 characters

Hello all. I would like to make a script (or two shell scripts) that will do the following. I need the maximum file name and directory name to be 38 characters long. As well, if shortening the file name ends up making all of the files in that directory have the same name, then I would like... (9 Replies)
Discussion started by: marcozd
9 Replies

5. Shell Programming and Scripting

Truncate table

Hi In unix able to connect to oracle database and create table ,when rerun ,if table exist ,truncate that table.Any idea how to do that a.sh ---- sqlplus -s datadmin/password <<EOF create table xx(col1 number, col2... ); exit; EOF I... (1 Reply)
Discussion started by: mohan705
1 Replies

6. UNIX for Advanced & Expert Users

*** Truncate certain field ***

I have a file in which I need to truncate 15th field to have only one character like Put --> P and if i have no value in 15th field, it should be "O" (Other) would really appreciate the reponses, thnx in advance:b: (2 Replies)
Discussion started by: sannmayaz
2 Replies

7. Shell Programming and Scripting

Truncate File contain

I have one file which first line is blank and second line has some data. $cat filename output: 30-MAY-07 I want to store 30-MAY-07 value in one variable. for that I wrote var="`head -2 filename`" It will give that result but I want to truncate the first line which is blank. plz help. (2 Replies)
Discussion started by: rinku
2 Replies

8. Shell Programming and Scripting

How to truncate as filesize?

Hello everybody it's me again. I have a procces that is writing in a 'file1' automatically but i want to truncate 'file1' to a filesize 'x' that mean if the 'file1' size is 'x' i want to delete the first lines while the last lines are being writed, that have sence? in the process are an... (1 Reply)
Discussion started by: Lestat
1 Replies

9. UNIX for Dummies Questions & Answers

truncate wtmp

I have AIX5.1 I have been trying to learn how to truncate the /var/adm/wtmp file. I have seen several things on google actually but don't quite understand. I also searched your forums but couldn't find it. one says this ">/var/adm/wtmp Is that all I do? I have a seperate question also. I was... (1 Reply)
Discussion started by: rocker40
1 Replies

10. UNIX for Dummies Questions & Answers

Truncate what is It?

what does this command do ? as in does this command just make sure everything in the file is executed? or does it flush the file? Actually this is used on a file in a progress database but I believe it is a unix command? (2 Replies)
Discussion started by: rocker40
2 Replies
Login or Register to Ask a Question