Sponsored Content
Top Forums Shell Programming and Scripting Renaming files in a bash script Post 55649 by Breen on Thursday 16th of September 2004 08:11:30 AM
Old 09-16-2004
Renaming files in a bash script

I'm doing a short batch script to compile po files producing output binary mo files.

The compilation command is:
msgfmt -o file.mo file.po

so in order to compile I am appending .mo to the varible in a loop.

It goes something like this:
for i in `find . -name "*.po"`
do
echo "Compiling $i"
msgfmt -o $i.mo $i
done

The result are file.po and file.po.mo files, but what is requeried is
file.po and file.mo.
SO I tied renaming after the compilation command with:
mv $i `expr $i : '\(.*\).po'` #rename 'file.po.mo' to 'file'
mv $i $.mo

but $i does not equal 'file', so the last line fails. I tried a few things like using awk and assigning another variable to 'file' and renaiming that, but yet to no avail.

Any ideas?
Thanks
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

copying files and Renaming them + shell script

Hi, I have a problem. I have some text files in a folder. The names can be like: emp.txt emp1.txt emp3.txt 32emp4.txt What i need is i have to copy all the files which have "emp" string in their filename to a different folder and those file names... (7 Replies)
Discussion started by: pathanjalireddy
7 Replies

2. UNIX for Dummies Questions & Answers

Renaming Files using Shell Script

Hi Gurus, I have some files(all ending with .out as extension). Ex: aa1.out aa2.out aa3.out I would like to append each file with the current date to the end of the file so that they should become aa1_20090504.out. So I am using rename as follows: for i in path/aa* ; do mv $i... (5 Replies)
Discussion started by: asmfloyd
5 Replies

3. Shell Programming and Scripting

script for renaming a batch of files

hi i have a folder full of files. some of the names are quite off because the dimensions were the same and i had to put a 'b' after the initial number so that it didnt overwrite. what i want is a script in unix to overwrite the filwe name leaving some of the title intact, e.g. below are some... (3 Replies)
Discussion started by: shabs1985
3 Replies

4. Shell Programming and Scripting

Script for renaming files

I wanna back up the original version of files in a directory by appending .ORIG to them. I'm guessing I'd need CP and AWK in some form or fashion. Can someone give me a template? Thanks (3 Replies)
Discussion started by: stevenswj
3 Replies

5. Shell Programming and Scripting

Renaming multiple files with a shell script

Hey guys, I'm really new to UNIX and shell scripting in general. For my internship I need to rename a bunch of files. Specifically, I need to change the first letter of each of the files to lowercase and I have to change the endings so they all basically look like "file_cone.jpg". I know I... (4 Replies)
Discussion started by: jjzieve
4 Replies

6. Shell Programming and Scripting

Need script for renaming and moving files one by one...

Dears, I need your help! I got a problem and found some workaround solution but I donno how to realize it. I have a number of files (about 300 each day) and I need them to be renamed. All these files has fixed number of letters and name looks like this one:... (7 Replies)
Discussion started by: nypreH
7 Replies

7. Shell Programming and Scripting

bulk renaming of files in sftp using script

Hi, Am using sftp (dsa method) to transfer 20 files from one server(sftp) to another (local). After the transfer is complete the files in the sftp server has to be renamed from .txt extension to .done extension ( aa.txt to aa.done, bb.txt to bb.done and likewise...). I tried rename command... (4 Replies)
Discussion started by: Sindhuap
4 Replies

8. Shell Programming and Scripting

Need help in batch renaming files with bash shell script.

I have some 50+ files in the following format : abcd_vish_running_ZEBRA_20140818.dat_08-14-2014_23:08:23 abcd_vish_running_ZEB-RA_20140818.dat_08-14-2014_23:08:35 abcd_vish_running_ZEB_RA_20140818.dat_08-14-2014_23:08:37 abcd_vish_running_RI-NG_20140818.dat_08-14-2014_23:08:42... (5 Replies)
Discussion started by: SriRamKrish
5 Replies

9. Shell Programming and Scripting

Renaming multiple files in sftp server in a get files script

Hi, In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this? I am using #!/bin/ksh For eg: sftp user@host <<EOF cd /path get *.txt rename *.txt *.txt.done ... (7 Replies)
Discussion started by: jhilmil
7 Replies
lfcompile64(5)						Standards, Environments, and Macros					    lfcompile64(5)

NAME
lfcompile64 - transitional compilation environment DESCRIPTION
All 64-bit applications can manipulate large files by default. The transitional interfaces described on this page can be used by 32-bit and 64-bit applications to manipulate large files. In the transitional compilation environment, explicit 64-bit functions, structures, and types are added to the API. Compiling in this environment allows both 32-bit and 64-bit applications to access files whose size is greater than or equal to 2 Gbyte ( 2**31 bytes). The transitional compilation environment exports all the explicit 64-bit functions (xxx64()) and types in addition to all the regular func- tions (xxx()) and types. Both xxx() and xxx64() functions are available to the program source. A 32-bit application must use the xxx64() functions in order to access large files. See the lf64(5) manual page for a complete listing of the 64-bit transitional interfaces. The transitional compilation environment differs from the large file compilation environment, wherein the underlying interfaces are bound to 64-bit functions, structures, and types. An application compiled in the large file compilation environment is able to use the xxx() source interfaces to access both large and small files, rather than having to explicitly utilize the transitional xxx64() interface calls to access large files. See the lfcompile(5) manual page for more information regarding the large file compilation environment. Applications may combine objects produced in the large file compilation environment with objects produced in the transitional compilation environment, but must be careful with respect to interoperability between those objects. Applications should not declare global variables of types whose sizes change between compilation environments. For applications that do not wish to conform to the POSIX or X/Open specifications, the 64-bit transitional interfaces are available by default. No compile-time flags need to be set. Access to Additional Large File Interfaces Applications that wish to access the transitional interfaces as well as the POSIX or X/Open specification-conforming interfaces should use the following compilation methods and set whichever feature test macros are appropriate to obtain the desired environment (see stan- dards(5)). o Set the compile-time flag _LARGEFILE64_SOURCE to 1 before including any headers. o Use the getconf(1) command with one or more of the following arguments: +------------------+----------------------------------------+ | argument | purpose | |LFS64_CFLAGS | obtain compilation flags necessary to | | | enable the transitional compilation | | | environment | |LFS64_LDFLAGS | obtain link editor options | |LFS64_LIBS | obtain link library names | |LFS64_LINTFLAGS | obtain lint options | +------------------+----------------------------------------+ EXAMPLES
In the following examples, the transitional compilation environment is accessed by invoking the getconf utility with one of the arguments listed in the table above. The additional large file interfaces are accessed either by specifying -D_LARGEFILE64_SOURCE or by invoking the getconf utility with the arguments listed above. The example that uses the form of command substitution specifying the command within parentheses preceded by a dollar sign can be executed only in a POSIX-conforming shell such as the Korn Shell (see ksh(1)). In a shell that is not POSIX-conforming, such as the Bourne Shell (see sh(1)) and the C Shell (see csh(1)), the command must be enclosed within grave accent marks. Example 1: An example of compiling a program using transitional interfaces such as lseek64() and fopen64(): $ c89 -D_LARGEFILE64_SOURCE $(getconf LFS64_CFLAGS) a.c $(getconf LFS64_LDFLAGS) $(getconf LFS64_LIBS) Example 2: An example of running lint on a program using transitional interfaces: % lint -D_LARGEFILE64_SOURCE `getconf LFS64_LINTFLAGS` ... `getconf LFS64_LIBS` SEE ALSO
getconf(1), lseek(2), fopen(3C), lf64(5), standards(5) SunOS 5.10 26 Jan 1998 lfcompile64(5)
All times are GMT -4. The time now is 11:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy