02-12-2013
You can just read the filenames from your file using a while-read loop. Within that loop, use cp. To generate the destination filename, you can use sed or the shell's parameter expansion operators to strip leading directories, modify the filename (e.g. ${var//pattern/replacement}), and prepend the new directory.
Alternatively, you can use pax in copy mode, -rw, with the -s option to modify the filenames as they're copied to the destination.
Regards,
Alister
Last edited by alister; 02-12-2013 at 09:51 AM..
This User Gave Thanks to alister For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
I'm rather new to the world of regular expressions and sed, though am excited by its possibilities. I have a particular task I'd like to achieve, and have googled the topic quite a bit. However, having found some codes that perform a task very similar to what I'd like to do, I can't for... (2 Replies)
Discussion started by: redseventyseven
2 Replies
2. Shell Programming and Scripting
i have about 30 scripts for example:
test, test1,test2, test3, test4,.....
inside every scripte is code like this:
echo "input check OK"
how to rename this line in multiple scripts in this:
echo "input error!" (2 Replies)
Discussion started by: waso
2 Replies
3. Shell Programming and Scripting
Greetings,
I am very new to the UNIX shell scripting and would like to learn. However, I am currently stuck on how to process the below sample :
Filename : DOCabcdef24387987ab90d.xml
Pattern "DOC"+any character using and +".xml"
And i want to change the second part of that file (any... (20 Replies)
Discussion started by: fanny_tirtasari
20 Replies
4. UNIX for Dummies Questions & Answers
I have gotten myself totally lost trying to sort this out and just need some help please..
I will have a multiple directories using the following naming convention with an undetermined number of files in each directory.
9780743582094_05of5_Accountable.wav
I need to batch rename all files... (5 Replies)
Discussion started by: glev2005
5 Replies
5. Shell Programming and Scripting
hi gooday
I need some help with a rename I am attempting.
I'd like to rename a bunch of files in a folder
example
list.dat.old to list_N.dat
query.dat.old to query_N.dat
note the two periods in (.dat.old) to become _N.dat
I tried using sed like this
ls *.dat.old | sed... (3 Replies)
Discussion started by: johnstrong
3 Replies
6. Shell Programming and Scripting
Hello,
I am new to shell scripting and stuck on renaming files in a folder. The files have the format
chp01_00001.wav
chp01_00002.wav
....
chp02_00001.wav
chp02_00002.wav
....
but I want them to have the following names:
chp_bloomy_00001.wav
chp_bloomy_00002.wav
chp_bloomy_00003.wav... (8 Replies)
Discussion started by: Bloomy
8 Replies
7. Shell Programming and Scripting
I have a filename like 1_DATE_3_4.5_888 and I want to modify the date field (ie the last 4 digits ) alone and remove the last field.
Old filename:1_DATE_3_4.5_888
Given date (for eg):120606259532
modified date:120606259899
new filename:1_<modified date>_3.4.5 (14 Replies)
Discussion started by: sandy88
14 Replies
8. Shell Programming and Scripting
Ubuntu -very new to shell scripts/Linux
I have many pictures with "FAMILY", "family" mixed in the file name and not all in the same directory;
I want to remove "family" case insensitive from the filenames;
find /media/Rock/pics/pics_bak/ -type f "*family*" | sed 's#family##gI'
# works for... (2 Replies)
Discussion started by: jennyjones
2 Replies
9. UNIX for Dummies Questions & Answers
Have a file in this format This is line one ; line_one
This is line two ; line_two
This is line three ; line_three
This is line four ; line four. I'm trying to make each line a new file called line_one
line_two
line_three
line_four. Tried using split -1 but then I'm back needing to rename... (3 Replies)
Discussion started by: jimmyf
3 Replies
10. Shell Programming and Scripting
I am trying to use sed to rename all .txt files in /home/cmccabe/test. However, I am getting an error that I seems to be putting the files in a new directory s, instead of in the original. Thank you :).
bash
# rename classified
cd /home/cmccabe/test
pattern2_old="_classify"... (2 Replies)
Discussion started by: cmccabe
2 Replies
LEARN ABOUT CENTOS
icupkg
ICUPKG(8) ICU 50.1.2 Manual ICUPKG(8)
NAME
icupkg - extract or modify an ICU .dat archive
SYNOPSIS
icupkg [ -h, -?, --help ] [ -tl, --type l | -tb, --type b | -te, --type e ] [ -c, --copyright | -C, --comment comment ] [ -a, --add list ]
[ -r, --remove list ] [ -x, --extract list ] [ -l, --list ] [ -s, --sourcedir source ] [ -d, --destdir destination ] [ -w, --writepkg ] [
-m, --matchmode mode ] infilename [ outfilename ]
DESCRIPTION
icupkg reads the input ICU .dat package file, modify it according to the options, swap it to the desired platform properties (charset &
endianness), and optionally write the resulting ICU .dat package to the output file. Items are removed, then added, then extracted and
listed. An ICU .dat package is written if items are removed or added, or if the input and output filenames differ, or if the -w,
--writepkg option is set.
If the input filename is "new" then an empty package is created. If the output filename is missing, then it is automatically generated
from the input filename. If the input filename ends with an l, b, or e matching its platform properties, then the output filename will con-
tain the letter from the -t, --type option.
This tool can also be used to just swap a single ICU data file, replacing the former icuswap tool. For this mode, provide the infilename
(and optional outfilename) for a non-package ICU data file. Allowed options include -t, -w, -s and -d The filenames can be absolute, or
relative to the source/dest dir paths. Other options are not allowed in this mode.
OPTIONS
-h, -?, --help
Print help about usage and exit.
-tl, --type l
Output for little-endian/ASCII charset family. The output type defaults to the input type.
-tb, --type b
Output for big-endian/ASCII charset family. The output type defaults to the input type.
-te, --type e
Output for big-endian/EBCDIC charset family. The output type defaults to the input type.
-c,--copyright
Include the ICU copyright notice in the resulting data.
-C, --comment comment
Include the specified comment in the resulting data instead of the ICU copyright notice.
-a, --add list
Add items from the list to the package. The list can be a single filename with a .txt file extension containing a list of item file-
names, or an ICU .dat package filename.
-r, --remove list
Remove items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item
filenames, or an ICU .dat package filename.
-x, --extract list
Extract items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item
filenames, or an ICU .dat package filename.
-m, --matchmode mode
Set the matching mode for item names with wildcards.
-s, --sourcedir source
Set the source directory to source. The default source directory is the current directory.
-d, --destdir destination
Set the destination directory to destination. The default destination directory is the current directory.
-l, --list
List the package items to stdout (after modifying the package).
LIST FILE SYNTAX
Items are listed on one or more lines and separated by whitespace (space+tab). Comments begin with # and are ignored. Empty lines are
ignored. Lines where the first non-whitespace character is one of "%&'()*+,-./:;<=>?_ are also ignored to reserve for future syntax.
Items for removal or extraction may contain a single * wildcard character. The * matches zero or more characters. If -m, --matchmode
noslash is set, then the * character does not match the / character.
Items must be listed relative to the package, and the --sourcedir or the --destdir path will be prepended. The paths are only prepended to
item filenames while adding or extracting items, not to ICU .dat package or list filenames.
Paths may contain / instead of the platform's file separator character and are converted as appropriate.
AUTHORS
Markus Scherer
George Rhoten
VERSION
1.0
COPYRIGHT
Copyright (C) 2006 IBM, Inc. and others.
SEE ALSO
pkgdata(1) genrb(1)
ICU MANPAGE
18 August 2006 ICUPKG(8)