Script to change file name


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Script to change file name
# 1  
Script to change file name

Hi, I need to write a script that changes the name of the filename. Let's say my script is named change_filename and I want to use it on a file named test1.txt. After running the script I want the filename renamed to test1_fails.txt

e.g.

Code:
$   ls

test1.txt   test2.txt   test3.txt

$   change_filename test1.txt
$   ls

test1_fails.txt   test2.txt   test3.txt


I'm thinking maybe the sed command and to substitute the filename but I don't know how to do it.

Moderator's Comments:
Mod Comment Please use code tags, thanks!

Last edited by zaxxon; 06-12-2012 at 10:10 AM.. Reason: code tags
# 2  
at command line: mv test1.txt test1_fails.txt
# 3  
bash

Hi,

Try this one,
Code:
#! /usr/bin/bash
base=$1
if [ -f ${base} ];
then
    mv ${base} ${base/./_fails.}
else
    echo "${base} file not found"
fi

Cheers,
RangaSmilie
This User Gave Thanks to rangarasan For This Post:
# 4  
Hi Rangarasan, thanks for your reply. However it is not working for me. I'm new to Unix programming so maybe it is something simple I have not spotted. I ran the following code:

Code:
#! /bin/csh

base=$1

if [ -f ${base} ]
then
   cp ${base} ${base././_fails.}
else
   echo "${base} file not found"
fi

I get the following output

Code:
$ change_filename test1.txt
base=test1.txt: Command not found
base: Undefined variable

The file test1.txt is definitely in the current directory
# 5  
Quote:
Originally Posted by millsy5
Hi Rangarasan, thanks for your reply. However it is not working for me. I'm new to Unix programming so maybe it is something simple I have not spotted. I ran the following code:

Code:
 
#! /bin/csh
 
base=$1
 
if [ -f ${base} ]
then
   cp ${base} ${base././_fails.}
else
   echo "${base} file not found"
fi

I get the following output

Code:
 
$ change_filename test1.txt
base=test1.txt: Command not found
base: Undefined variable

The file test1.txt is definitely in the current directory
There is an extra dot in the substitution part.
Use the below code
Code:
#! /bin/csh

base=$1

if [ -f ${base} ]
then
cp ${base} ${base/./_fails.}
else
echo "${base} file not found"
fi

Cheers,
RangaSmilie
# 6  
Quote:
Originally Posted by rangarasan
There is an extra dot in the substitution part.
Use the below code
Code:
#! /bin/csh

base=$1

if [ -f ${base} ]
then
cp ${base} ${base/./_fails.}
else
echo "${base} file not found"
fi

Cheers,
RangaSmilie
That extra dot was actually a typo. I did not have that in my actual script.

Do I need to declare variables somewhere? I don't know why it thinks base is a command and not a variable. I've tried renaming base but I still get the same error.
# 7  
bash

The above script will work with bash. But you have used csh.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #952
Difficulty: Medium
The Creeper virus was first detected on ARPANET in the early 1960s.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to change file names

I have a landing directory on my unix (solaris) server, that receives the following files: MLH4301I AAOT-hhslog.610.20150805.txt MLH4301I AAOT-hhslog.611.20150805.txt MLH4301I AAOT-hhslog.612.20150805.txt MLH4301I AAOT-hhslog.613.20150805.txt and I need to add to this files the number 10000... (6 Replies)
Discussion started by: fretagi
6 Replies

2. Shell Programming and Scripting

Script to change name of a file with date

I have a file that contains todays date(for ex- test_08/30/2013) Now I want a script which will run and change the name of the file and put yesterday's date (for ex- test_08/29/2013) Please help. ---------- Post updated at 04:40 AM ---------- Previous update was at 04:31 AM ---------- I... (2 Replies)
Discussion started by: sv0081493
2 Replies

3. Shell Programming and Scripting

Change values in .conf file with a script

This is my first time posting here...so be gentle. Suppose I have a test.conf file that contains a value such as a IP. I would like to be able to use the Dialog Utility in Linux to allow me to enter the new IP in a Dialog form...and the results get saved into the test.conf file in the place... (4 Replies)
Discussion started by: calahanp
4 Replies

4. Shell Programming and Scripting

Need script to change a line in file....

Hello all, I have a line of code in a file that I need to change in the /etc/sysconfig/kdump file presently the line reads: KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off" what I need to do is put a comment out the 1st line and repeat it, and... (5 Replies)
Discussion started by: gartie
5 Replies

5. Shell Programming and Scripting

Change value in a file using perl or shell script

hi, I have a local.conf file which has the first line TOPDIR = "/home/mvdev/workspace/boxer". I want to replace the value to "/home/common/workspace/mirror". I tried the following perl command that is perl -p -i -e 's/Path/path1/g' myfile.txt then sed... (7 Replies)
Discussion started by: amvarma77
7 Replies

6. Shell Programming and Scripting

change file contents using script

Hi, Requirement:- Need to change pfile,so while executing script,it has to go to pfile location(ORACLE_HOME/dbs) and open init<SID>.ora file and change value db_name=<>. If db_name=abcd,script will change the db_name=1234 likr that.. Please help to code this (1 Reply)
Discussion started by: Sanal
1 Replies

7. Shell Programming and Scripting

Help with shell script for know when a file change it

Hi, IŽd like to know how to program a shell script for know when a file changes and based on that make another tasks all this in real time.. Thanks (2 Replies)
Discussion started by: mrios7
2 Replies

8. Shell Programming and Scripting

Need help script to change the log file?

Hi I have log like this : And i want the log become like this : can somebody help me?? (5 Replies)
Discussion started by: justbow
5 Replies

9. Shell Programming and Scripting

script to ftp file (ip change)

Hi All, If I want to ftp files from machine to local pc. But the ip must change everytime :( (due to VPN), can I write a script to easiler (no need to update ip in script)? user_name=aaa password=bbb cat ip.txt # # FTP the files # ftp -d -in 199.200.204.109 <<EOF user $user_name... (2 Replies)
Discussion started by: happyv
2 Replies

10. UNIX for Dummies Questions & Answers

script to change value in file

Hi, I have a parameter file and it contains following items $ cat TransactionParams From_Date_Parm=2005-02-25 To_Date_Parm=2005-05-25 Extract_Root_Parm=/detld1/etl/ascential/Ascential/DataStage/Projects/CTI_London/IAM Extract_Type_Parm=Transaction EDW_Database_Parm=hdw_erks... (1 Reply)
Discussion started by: gopskrish
1 Replies

Featured Tech Videos