Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Bash script to rename files in a directory Post 302601858 by DGPickett on Friday 24th of February 2012 03:41:30 PM
Old 02-24-2012
If you do not quote the white space, "$name" every reference, you need to use line feed as your delimiter, or if you have embedded linefeeds, more extreme tricks, like keying off the 'ls -l' non-name printout to pile up the right number of lines, tricky at EOF where there is no following line with an 'ls -l' prefix. C, PERL and such can handle each file name as one string without looking inside.
Code:
$ mkdir emb-ws
$ cd emb-ws
$ echo 'a space' >'a space'
$ echo 'two  space' >'two  space'
$ echo 'a   tab' >'a   tab'
$ echo 'a^Mcarriage-return' >'a^Mcarriage-return'
$  echo 'a
linefeed' >'a
linefeed'
$ ls | while read f; do   echo ">$f<"; done | cat -vte
> )
>a^Itab<$
>a<$
>linefeed<$
>a^Mcarriage-return<$
>a space<$
>two  space<$
$ ls -l |cat -vte
total 20$
-rw-rw-r-- 1 dpickett dpickett  6 Feb 24 15:09 a^Itab$
-rw-rw-r-- 1 dpickett dpickett 11 Feb 24 15:09 a$
linefeed$
-rw-rw-r-- 1 dpickett dpickett 18 Feb 24 15:09 a^Mcarriage-return$
-rw-rw-r-- 1 dpickett dpickett  8 Feb 24 15:09 a space$
-rw-rw-r-- 1 dpickett dpickett 11 Feb 24 15:09 two  space$
$

This User Gave Thanks to DGPickett For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Hello - new here - bash script - need to rename and zip files.

I'm working on a project that basically unzips three zip files. When these unzip they create about 70+ directories with subdirectories of year/month with about 3 to 9 pdf files in each directory. Basically, I'm needing to figure out a way to zip these pdf files up. for instance the script... (1 Reply)
Discussion started by: Aixia
1 Replies

2. Shell Programming and Scripting

Simple BASH shell script to rename webcam jpg and copy into a new directory.

System: Ubuntu Intrepid Ibex I'm running webcamd as a sort of "security" program, but I need a script that will archive my webcam.jpg files. So, take the following file: /home/slag/www/webcam.jpg Rename it--preferably with a time stamp. Place it in say: /home/slag/www/history/ ... (4 Replies)
Discussion started by: robfindlay
4 Replies

3. Shell Programming and Scripting

Rename many files in a directory

Hi, I have around 100 xml file in a directory. I need to rename the files from .xml to .xml1. So i tried using the following command: mv *.xml *.xml1 but i am getting the following error mv: when moving multiple files, last argument must be a directory Try `mv --help' for more... (8 Replies)
Discussion started by: ananthi_ku
8 Replies

4. UNIX for Dummies Questions & Answers

Bash script to rename all files within a folder...

Hi. I don't have any experience with making scripts in bash. I need a simple script to rename all files in a folder to the format file1.avi, file2.avi, file3.avi, and so on..... Please note that the original files have different filenames and different extensions. But they all need to be... (2 Replies)
Discussion started by: dranzer
2 Replies

5. UNIX for Dummies Questions & Answers

Bash script to execute a program to rename files

I just can't figure it out , so please just give me a pice of advise how to: The existing Linux program foo2bar takes as its only argument the name of a single foo file and converts it to an appropriately-named bar file. Provide a script that when executed will run foo2bar against all foo... (4 Replies)
Discussion started by: raymen
4 Replies

6. Shell Programming and Scripting

Been working since 25+ hrs: Bash Script to rename files supposedly direct but difficult to execute

:wall::wall::wall: Hi I have horrible script below, need help in renaming ls -l output into new filename format: Desired output: cp -pv original_path/.* newDirectory/owner_of_file.%dd%mm%y.file_extension.first_8_characters_of_original_filename localuser@localuser:~ vi... (3 Replies)
Discussion started by: wolf@=NK
3 Replies

7. Shell Programming and Scripting

Bash script to copy apache log files to client directory

Our Apache log files are written to a location on the server that we as clients have no access. Don't ask. Every month, I have to e-mail the administrator to have him manually copy our Apache log files to a directory in our file space. You can probably guess how efficient it is to do things this... (3 Replies)
Discussion started by: gregraven
3 Replies

8. Shell Programming and Scripting

Bash to rename files repeats previous filename in directory

In the below bash processes substitution, if there are 3 files in a directory /home/cmccabe/medex.logs/analysis.log, the filename variable is set to where these files are located. The code does execute, the problem is that if there is a renamed file in the output directory below, it gets... (0 Replies)
Discussion started by: cmccabe
0 Replies

9. Shell Programming and Scripting

Trying to make a bash script that goes through directory files and changes things

I'm trying to write a script in a directory that goes through the column the user specifies of 4 files that are inside the directory and calculates the min and the max values. This means that if the user specifies column 5, the script will go through column 5 of all 4 files and all that should give... (2 Replies)
Discussion started by: Eric1
2 Replies
VFS_CROSSRENAME(8)					    System Administration tools 					VFS_CROSSRENAME(8)

NAME
vfs_crossrename - server side rename files across filesystem boundaries SYNOPSIS
vfs objects = crossrename DESCRIPTION
This VFS module is part of the samba(7) suite. The vfs_crossrename VFS module allows server side rename operations even if source and target are on different physical devices. A "move" in Explorer is usually a rename operation if it is inside of a single share or device. Usually such a rename operation returns NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by manual copy and delete operations. If the rename by copy is done by the server this can be much more efficient. vfs_crossrename tries to do this server-side cross-device rename operation. There are however limitations that this module currently does not solve: The ACLs of files are not preserved, meta data in EAs are not preserved, renames of whole subdirectories cannot be done recursively, in that case we still return STATUS_NOT_SAME_DEVICE and let the client decide what to do, rename operations of huge files can cause hangs on the client because clients expect a rename operation to return fast. This module is stackable. OPTIONS
crossrename:sizelimit = BYTES server-side cross-device-renames are only done for files if the filesize is not larger than the defined size in MiB to prevent timeouts. The default sizelimit is 20 (MiB) EXAMPLES
To add server-side cross-device renames inside of a share for all files sized up to 50MB: [testshare] path = /data/mounts vfs objects = crossrename crossrename:sizelimit = 50 VERSION
This man page is correct for version 4.0.0 of the Samba suite. AUTHOR
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. Samba 4.0 06/17/2014 VFS_CROSSRENAME(8)
All times are GMT -4. The time now is 02:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy