11-08-2013
Read your shell's man page, esp. Parameter Expansion / Remove matching suffix pattern.
And it's not necessary to use the double %% as proposed above, single % will do. After reading, you'll know why.
EDIT: And, to be utterly exact, that will NOT remove 9 chars from the end of file names, as requested, but it will remove the dot and suffix regardless of its length. To remove 9 chars, use ${f:0:${#f}-9} (you may need to do the arithmetics outside the expression, depending on your shell version).
Last edited by RudiC; 11-08-2013 at 07:19 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi folks. None of the conventional methods are working for my dilemma:
I have a file in my root directory that has a name comprised of strange characters. When I do an ls, it just hangs at that file until I do a Cntrl-C.
rm ./filename
&
rm \filename
do not work. I am entering the... (4 Replies)
Discussion started by: kristy
4 Replies
2. Shell Programming and Scripting
hi:
i have several thousand files from users and of course they use all kind of characters on filenames. I have things like:
My special report (1999 ) Lisa & Jack's work.doc
crazy.
How do I remove all this characters in the current dir and subdirs too?
Thanks. (3 Replies)
Discussion started by: jason7
3 Replies
3. Shell Programming and Scripting
Hi all,
I have this basic script to remove, in this case 9 characters from the end of a file name. This is what I have so far,
for file in *.mov
do
newname=`echo $file | sed 's/\(.*\)........./\1/' `
mv "$file" "$newname"
done
The problem is that it removes the file extension as well.... (2 Replies)
Discussion started by: Monkey Dean
2 Replies
4. UNIX for Dummies Questions & Answers
Hi,
It's my first time here... anyways, I have a simple problem with these filenames. This is probably too easy for you guys:
ABC_20101.2A.2010_01
ABD_20103.2E.2010_04
ABE_20107.2R.2010_08
Expected Output:
ABC_20101
ABD_20103
ABE_20107
The only pattern available are the ff:
1) All... (9 Replies)
Discussion started by: Joule
9 Replies
5. Shell Programming and Scripting
hi, I have quite a bunch of files with annoyingly long filenames. I wanted to cut the range of characters from 9-18 and just retain the first 8 characters and the .extension. any suggestion how to do it. thanks much.
original filename: 20000105_20000105_20100503.nc.asc
output filename:... (4 Replies)
Discussion started by: ida1215
4 Replies
6. Shell Programming and Scripting
I have following script to 'archive' some logfiles:
for APPHOME in `cat $HOME/archive/apps.cfg`
do
. $APPHOME/archive/parms.cfg
LOGFILES=$(grep "^LOGFILE=" $APPHOME/archive/parms.cfg)
for I in $LOGFILES
do
LOGPATH=$(echo $I |awk -F'=' '{... (2 Replies)
Discussion started by: oliware
2 Replies
7. Shell Programming and Scripting
Hi, I need a bit of help.
I've used awk to get the first 7 characters of a file -
awk '{print substr($0,0,7)}' test.csv
How do I now take this variable to rename test.csv to variable.csv ?
Any help or advice would be greatly appreciated! (2 Replies)
Discussion started by: sianm
2 Replies
8. Shell Programming and Scripting
how can i remove numbers of characters from the last name of file with respect to not remove the files extension
example
VFX_Official_Trailer_(HD)__Shhh__-_by_Freddy_Chavez_Olmos_&_Shervin_Shoghian-.mp4
i want to rename this to
VFX-Official-Trailer-(HD)-Shhh... (13 Replies)
Discussion started by: ateya
13 Replies
9. Linux
hi i know this is irrelevant to the question above but i was wondering how to pt a restriction in the filename in linux. I want that it is impossible to add numbers into the filename, help will be rely great , thanx!
This posting was initially given as a reply to an unrelated thread. It has been... (2 Replies)
Discussion started by: samirboss
2 Replies
10. Shell Programming and Scripting
here's what im trying to do.
i have a file containing lines similar to this:
data.txt:
1hsRmRsbHRiSFZNTTA1dlEyMWFkbU5wUW5CSlIyeDFTVU5SYjJOSFRuWmpia0ZuWXpKV2FHTnRU
1lKUnpWMldrZFZaMG95V25oYQpSelEyWTBka2QyRklhSHBrUjA1b1kwUkJkd3BOVXpWM1lVaG5k... (5 Replies)
Discussion started by: SkySmart
5 Replies
textutil::trim(n) Text and string utilities, macro processing textutil::trim(n)
__________________________________________________________________________________________________________________________________________________
NAME
textutil::trim - Procedures to trim strings
SYNOPSIS
package require Tcl 8.2
package require textutil::trim ?0.7?
::textutil::trim::trim string ?regexp?
::textutil::trim::trimleft string ?regexp?
::textutil::trim::trimright string ?regexp?
::textutil::trim::trimPrefix string prefix
::textutil::trim::trimEmptyHeading string
_________________________________________________________________
DESCRIPTION
The package textutil::trim provides commands that trim strings using arbitrary regular expressions.
The complete set of procedures is described below.
::textutil::trim::trim string ?regexp?
Remove in string any leading and trailing substring according to the regular expression regexp and return the result as a new
string. This is done for all lines in the string, that is any substring between 2 newline chars, or between the beginning of the
string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning
and the end of the string. The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimleft string ?regexp?
Remove in string any leading substring according to the regular expression regexp and return the result as a new string. This apply
on any line in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or
between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string.
The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimright string ?regexp?
Remove in string any trailing substring according to the regular expression regexp and return the result as a new string. This apply
on any line in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or
between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string.
The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimPrefix string prefix
Removes the prefix from the beginning of string and returns the result. The string is left unchanged if it doesn't have prefix at
its beginning.
::textutil::trim::trimEmptyHeading string
Looks for empty lines (including lines consisting of only whitespace) at the beginning of the string and removes it. The modified
string is returned as the result of the command.
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category textutil
of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
SEE ALSO
regexp(n), split(n), string(n)
KEYWORDS
prefix, regular expression, string, trimming
CATEGORY
Text processing
textutil 0.7 textutil::trim(n)