How to rename all the files in a folder having specific
extension?
Example: I have some files with extension (.txt) in a folder
name 'Test'. I have to rename all the .txt files in a test
and its subdirectories to .my extension.
Answers were Sorted based on User's Feedback
Answer / manuswami
for file in `ls` ; do NEW=`echo $file | sed 's/.txt/.my/g'`
; mv $file $NEW ; done
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / akshay telang
for i in `find . -name "*.txt"`
> do
> mv $i ${i%.txt}.my
> done
| Is This Answer Correct ? | 11 Yes | 4 No |
Answer / prav gir
#!/bin/sh
for filename in *$1*
do
echo "$filename"
mv -f "$filename" `echo $filename|sed "s/$1/$2/"`
done
run script like
$>scrpt1 .txt .my
| Is This Answer Correct ? | 3 Yes | 3 No |
Answer / geichel
#!/bin/bash
for x in $(find $1 -name '*.txt' -type f )
do
OUT=$(echo $x | sed -e "s/\.txt$/.my/")
mv $x $OUT
done
exit 0;
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / venugopal adep
for file in `ls *.txt`; do new_file=`echo $file | sed
's/txt/my/g'`; mv $file $new_file; done
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / indu sharma
find . -name "*.txt" -exec ls {} \; | xargs -n1 -I{} sh -c 'mv "{}" `echo "{}"|basename "{}" .txt`.my'
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sushanta
for i in *
do
p=`basename $i c`
q=$p "txt"
mv $i $q
done
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / veera
rename replacing-text replaced-test list-of-files
ex: rename .txt .my *.txt
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aravind s
basename is the appropriate command to cut the unwanted
string from a filename
for example
$basename unix.txt txt #txt stripped off
unix.
-----------------------
for your problem the solution is
for i in `find . -name '*.txt'`|xargs ls; do
leftname=`basename $i txt`
mv $i ${leftname}doc
done
-----------------------
basename isn't a shell bulletin, but an external command.
The reason why we deal with it here is that it's most
effective when used with the for loop.
Ref: Unix Concepts & Applications - Sumitabha Das
| Is This Answer Correct ? | 2 Yes | 3 No |
Which is better perl or shell scripting?
what are bootlevel in linux?which level is booting by default.
what is the difference between sh & bash shell?
Create a bash shell script to sort and then uniq the file from the command line & store it to a new file and output the results to the screen. Name this script "sortAndUniq.sh"
How do you know which shell I am using?
What are the additional egrep symbols?
How can you get the value of pi till a 100 decimal places?
How can I set the default rwx permission to all users on every file which is created in the current shell?
What is the default shell of solaris?
In a file , how to retrieve the lines which are the multiples of 50 ? like 50,100,150th lines etc.
What is echo $shell?
Which is best institute for testing tool?