Sponsored Content
Top Forums Shell Programming and Scripting Change all filenames in a directory Post 302354227 by dr.house on Thursday 17th of September 2009 01:58:30 PM
Old 09-17-2009
Ad hoc (untested):

Code:
#! /bin/bash

for OLD_FILE in $( ls $FOLDER | egrep '^[0-9]{5}' )
do
  NEW_FILE=$( echo ${OLD_FILE} | sed 's/^[0-9]{5}//' )
  if [ -f $FOLDER/$NEW_FILE ]
  then
    rm $FOLDER/$NEW_FILE
  fi
  mv $FOLDER/$OLD_FILE $FOLDER/$NEW_FILE
done

exit 0

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

change filenames to Proper case

Hi, I have files with all its characters in lower cases. I need to change them to "proper case" (starting char to be come Upper case). How can I? Pls suggest. for e.g. xyz.txt should become Xyz.txt TIA Prvn (7 Replies)
Discussion started by: prvnrk
7 Replies

2. UNIX for Dummies Questions & Answers

Need to change filenames in a particular directory from lowercase to UPPERCASE

Hi, I need a shell script which changes a bunch of files in a particular directory from lowercase to UPPERCASE. I am not very familiar with shell scripts so a detailed explanation would be greatly appreciated!!!! Thanks ini advance! :) (7 Replies)
Discussion started by: Duke_Lukem
7 Replies

3. Shell Programming and Scripting

looping thru filenames in a directory

Hi, i am very new to UNIX, i am trying to loop thru the files in a directory. I got the filenames into a variable using $files=`ls` Here $files will contain <filename1> <filename2> <filename3> I want to get one filename at a time and append it to some some text. forexample, ... (1 Reply)
Discussion started by: silas.john
1 Replies

4. Shell Programming and Scripting

concatenating the filenames in a directory

hi all, I have a requirement where in i have to read all the filenames based on a pattern from a directory and concatenate all these file names and write it to another file. i am using the following code to do this var1='' for filename in $_DIR/${FILE_NAME}* do if if then... (7 Replies)
Discussion started by: nvuradi
7 Replies

5. Shell Programming and Scripting

Use filenames to create directory.

I have many files similar to this one: AC41_AC85_86_AC128_129_MC171_173_SF_207_FMV.pdf. I want a directory named AC41 and to put the file AC41_AC85_86_AC128_129_MC171_173_SF_207_FMV.pdf into the directory. Next, a directory named AC85 and put the file into it. Also, continue to cycle through... (1 Reply)
Discussion started by: ndnkyd
1 Replies

6. UNIX for Dummies Questions & Answers

Filenames change in a directory

Hi I have abc_ahb_one.v abc_ahb_two.v abc_ahb_three.v ........l like this -----upto abc_ahb_ninety.v in some directory. I need to change those file names to like below. ... (5 Replies)
Discussion started by: praneethk
5 Replies

7. Shell Programming and Scripting

Change part of filenames in a bulk way

Hallo! I have generated lots of data file which all having this format: sp*t1overt2*.txt Now I want to change them in this way: sp*t2overt1*.txt The rest of the file names stay unchanged. I know this is kind of routine action in sed or awk, but dont know how! I tried this command: ... (6 Replies)
Discussion started by: forgi
6 Replies

8. Shell Programming and Scripting

Change all filenames under different folders...

Hi, all: I'd love to use shell script to change all filenames under different folders once for all: I've got over 100 folders, in each of them, there is a file named "a.ppm". I wanna change all these "a.ppm" to "b.ppm", and still . Visually, the directory structure looks like: and hope... (1 Reply)
Discussion started by: jiapei100
1 Replies

9. Shell Programming and Scripting

change filenames but not extension

I have a filename with a bunch of periods that I want to replace with underscores, but I don't want to change the extension. Ex: I want file.test1.f-1.fig.eps to be file_test1_f-1_fig.eps Using awk, the following line will replace ALL periods with underscores, but I want to leave the... (2 Replies)
Discussion started by: erinbot
2 Replies

10. Shell Programming and Scripting

Change filenames recursively

Hello, I made a mistake in a script and now need to go back and change allot of filenames. I need to change "v4" in filenames to "v3". I was thinking of something like this. #!/bin/bash FILELIST=$(ls -f -R *) for FILE in $FILELIST do # create new filename ... (5 Replies)
Discussion started by: LMHmedchem
5 Replies
FOLDER(1)                                                            [nmh-1.5]                                                           FOLDER(1)

NAME
folder, folders - set/list current folder/message SYNOPSIS
folder [+folder] [msg] [-all | -noall] [-create | -nocreate] [-fast | -nofast] [-header | -noheader] [-recurse | -norecurse] [-total | -nototal] [-list | -nolist] [-push | -pop] [-pack | -nopack] [-print] [-verbose | -noverbose] [-version] [-help] folders is equivalent to folder -all DESCRIPTION
Since the nmh environment is the shell, it is easy to lose track of the current folder from day to day. When folder is given the -print switch (the default), folder will list the current folder, the number of messages in it, the range of the messages (low-high), and the cur- rent message within the folder, and will flag extra files if they exist. An example of this summary is: inbox+ has 16 messages ( 3- 22); cur= 5. If a +folder and/or msg are specified, they will become the current folder and/or message. By comparison, when a +folder argument is given, this corresponds to a "cd" operation in the shell; when no +folder argument is given, this corresponds roughly to a "pwd" operation in the shell. If the specified (or default) folder doesn't exist, the default action is to query the user as to whether the folder should be created; when standard input is not a tty, the answer to the query is assumed to be "yes". Specifying -create will cause folder to create new folders without any query. (This is the easy way to create an empty folder for use later.) Specifying -nocreate will cause folder to exit without creating a non-existant folder. Multiple Folders Specifying -all will produce a summary line for each top-level folder in the user's nmh directory, sorted alphabetically. (If folder is invoked by a name ending with "s" (e.g. folders), -all is assumed). Specifying -recurse with -all will also produce a line for all sub- folders. These folders are all preceded by the read-only folders, which occur as "atr-cur-" entries in the user's nmh context. For exam- ple: FOLDER # MESSAGES RANGE CUR (OTHERS) /var/work/folder has 35 messages ( 1- 35); cur=23. /usr/bugs/Mail has 82 messages ( 1-108); cur=82. ff has no messages. inbox+ has 16 messages ( 3- 22); cur= 5. mh has 76 messages (15- 76); cur=70. notes has 2 messages ( 1- 2); cur= 1. ucom has 124 messages ( 1-124); cur= 6; (others). TOTAL = 339 messages in 7 folders The "+" after inbox indicates that it is the current folder. The "(others)" indicates that the folder ucom has files which aren't mes- sages. These files may either be sub-folders, or files that don't belong under the nmh file naming scheme. The header is output if either a -all or a -header switch is specified. It is suppressed by -noheader. The folder and message totals are output if either a -all or a -total switch is specified. It is suppressed by -nototal. If -fast is given, only the folder name (or names in the case of -all) will be listed. (This is faster because the folders need not be read.) If a +folder is given along with the -all switch, folder will, in addition to setting the current folder, list the top-level subfolders for the current folder (with -norecurse) or list all sub-folders under the current folder recursively (with -recurse). If msg is supplied, together with +folder or without -all, it will become the current message of +folder (if it had been supplied) or the current folder. The -recurse switch lists each folder recursively, so use of this option effectively defeats the speed enhancement of the -fast option, since each folder must be searched for subfolders. Nevertheless, the combination of these options is useful. Compacting a Folder The -pack switch will compress the message names in the designated folders, removing holes in message numbering. The -verbose switch directs folder to tell the user the general actions that it is taking to compress the folder. The Folder Stack The -push switch directs folder to push the current folder onto the folder-stack, and make the +folder argument the current folder. If +folder is not given, the current folder and the top of the folder-stack are exchanged. This corresponds to the "pushd" operation in the shell. The -pop switch directs folder to discard the top of the folder-stack, after setting the current folder to that value. No +folder argument is allowed. This corresponds to the "popd" operation in the shell. The -push switch and the -pop switch are mutually exclusive: the last occurrence of either one overrides any previous occurrence of the other. Both of these switches also set -list by default. The -list switch directs folder to list the contents of the folder-stack. No +folder argument is allowed. After a successful -push or -pop, the -list action is taken, unless a -nolist switch follows them on the command line. This corresponds to the "dirs" operation in the shell. The -push, -pop, and -list switches turn off -print. FILES
$HOME/.mh_profile The user profile PROFILE COMPONENTS
Path: To determine the user's nmh directory Current-Folder: To find the default current folder Folder-Protect: To set mode when creating a new folder Folder-Stack: To determine the folder stack SEE ALSO
refile(1), mhpath(1) DEFAULTS
`+folder' defaults to the current folder `msg' defaults to none `-nofast' `-noheader' `-nototal' `-nopack' `-norecurse' `-noverbose' `-print' is the default if no -list, -push, or -pop is specified `-list' is the default if -push, or -pop is specified CONTEXT
If +folder and/or msg are given, they will become the current folder and/or message. BUGS
There is no way to restore the default behavior (to ask the user whether to create a non-existant folder) after -create or -nocreate is given. MH.6.8 11 June 2012 FOLDER(1)
All times are GMT -4. The time now is 01:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy