Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Rename files with its pathname Post 303040360 by Chubler_XL on Sunday 27th of October 2019 05:29:15 PM
Old 10-27-2019
out of interest a couple of small issues were causing your original attempt to fail:

Code:
#!/bin/bash

SourceDir="/tmp/user/Proj/V1/data/"
DestDir="/tmp/user/Proj/V1/data/FinalData"

for file in $(find $SourceDir -not -path "${DestDir}/*" -type f -name *.csv); do
        shortname=${file#$SourceDir}
        newname="$DestDir/${shortname//\//_}"
        if [ -f $newname ]; then
                echo "$newname already exists."
        else
                cp $file $newname
        fi
done

These 2 Users Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to rename files?

:confused: How can i rename a file 'x.log' to 'x_20020512 072909.log' :eek: i'm using perl, with system command from a unix web server, and need to timestamp my logs if the above format (filename _ year month day hr min sec .log) (9 Replies)
Discussion started by: CompuTelSystem
9 Replies

2. Shell Programming and Scripting

Rename files

Hello, I've a list of file like this img_001 img_22 img_44 and I would rename all with this form photo_0001 photo_0002 photo_0003 photo_0004 suggestions?Thanks to all. (2 Replies)
Discussion started by: cv313x
2 Replies

3. Shell Programming and Scripting

Rename files

Hi, I wanna rename bunch of files which has ":" to -. ie. rename file named file1:file1 to file1-file1. any ideas? (2 Replies)
Discussion started by: linuxaddict7
2 Replies

4. Shell Programming and Scripting

rename files Ax based on strings found in files Bx

Hi, I'm not very experienced in shell scripting and that's probably why I came across the following problem: I do have several hundred pairs of text files (PF00x.spl and PF00x.shd) where the first file (PF00x.spl) needs to be renamed according a string that is included in the second file... (12 Replies)
Discussion started by: inCH
12 Replies

5. Shell Programming and Scripting

Rename many files

Hi, I have many files ex: file1, file2 ...file100, and I would like to rename only files with "1" in name. I don't have experience with bash and other shells. I know I can use "for i in" and "if", and I can use "sed" to change "1" but I have no idea how should "if" look. I will be grateful... (6 Replies)
Discussion started by: Physix
6 Replies

6. UNIX for Dummies Questions & Answers

Rename all .sh files to .pl

I have various .sh and .pl files in one directory. I want to rename all the .sh files to .pl i.e testscript.sh --> testscript.pl I am trying to use mv *.sh *.pl It doesnt work though!! (3 Replies)
Discussion started by: chrisjones
3 Replies

7. UNIX for Dummies Questions & Answers

Rename Files

Hi all, I am newbie and Im trying to rename a set of files & there are over 2900 of them. So, the best way I thought was through a script and here is what I got & it doesnt work. Im not sure as how to figure this out. Thanks Gonzalez Here is what I have - -a:~/Users/GonzaPue/ls -altr... (3 Replies)
Discussion started by: PG3
3 Replies

8. Shell Programming and Scripting

Script to unzip files and Rename the Output-files

Hi all, I have a many folders with zipped files in them. The zipped files are txt files from different folders. The txt files have the same names. If i try to find . -type f -name "*.zip" -exec cp -R {} /myhome/ZIP \; it fails since the ZIP files from different folders have the same names and... (2 Replies)
Discussion started by: pmkenya
2 Replies

9. UNIX for Dummies Questions & Answers

Renaming files with part of their pathname and copying them to new directory

Hi I think this should be relatively simple but I can't figure it out. I have several files with the same name in different folders within a directory (the output of a program that I ran). Something like this: ./myAnalysis/item1/round1/myoutput.txt ./myAnalysis/item1/round2/myoutput.txt... (2 Replies)
Discussion started by: jullee
2 Replies

10. Shell Programming and Scripting

SBATCH trinity for multiple files and rename/move the output files

Hey guys, I have wrote the following script to apply a module named "trinity" on my files. (it takes two input files and spit a trinity.fasta as output) #!/bin/bash -l #SBATCH -p node #SBATCH -A <projectID> #SBATCH -n 16 #SBATCH -t 7-00:00:00 #SBATCH --mem=128GB #SBATCH --mail-type=ALL... (1 Reply)
Discussion started by: @man
1 Replies
RENAME(2)							System Calls Manual							 RENAME(2)

NAME
rename - change the name of a file SYNOPSIS
#include <stdio.h> int rename(const char *from, const char *to) DESCRIPTION
Rename causes the link named from to be renamed as to. If to exists, then it is first removed. Both from and to must be of the same type (that is, both directories or both non-directories), and must reside on the same file system. Rename guarantees that an instance of to will always exist, even if the system should crash in the middle of the operation. If the final component of from is a symbolic link, the symbolic link is renamed, not the file or directory to which it points. RETURN VALUE
A 0 value is returned if the operation succeeds, otherwise rename returns -1 and the global variable errno indicates the reason for the failure. ERRORS
Rename will fail and neither of the argument files will be affected if any of the following are true: [ENAMETOOLONG] A path name exceeds PATH_MAX characters. [ENOENT] A component of the from path does not exist, or a path prefix of to does not exist. [EACCES] A component of either path prefix denies search permission. [EACCES] The requested link requires writing in a directory with a mode that denies write permission. [EPERM] The directory containing from is marked sticky, and neither the containing directory nor from are owned by the effective user ID. [EPERM] The to file exists, the directory containing to is marked sticky, and neither the containing directory nor to are owned by the effective user ID. [ELOOP] Too many symbolic links were encountered in translating either pathname. (Minix-vmd) [ENOTDIR] A component of either path prefix is not a directory. [ENOTDIR] From is a directory, but to is not a directory. [EISDIR] To is a directory, but from is not a directory. [EXDEV] The link named by to and the file named by from are on different logical devices (file systems). [ENOSPC] The directory in which the entry for the new name is being placed cannot be extended because there is no space left on the file system containing the directory. [EIO] An I/O error occurred while making or updating a directory entry. [EROFS] The requested link requires writing in a directory on a read-only file system. [EFAULT] Path points outside the process's allocated address space. [EINVAL] From is a parent directory of to, or an attempt is made to rename ``.'' or ``..''. [ENOTEMPTY] To is a directory and is not empty. SEE ALSO
open(2) 4.2 Berkeley Distribution May 22, 1986 RENAME(2)
All times are GMT -4. The time now is 02:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy