#!/bin/bash
pathscripts="$PWD"
cd ..
cd Allfolders
if [[ ! -d $1 ]]
then
echo "$1 does not exist. Exiting..."
echo "check $1" >> ../scripts/logfile.txt
exit 1
else
mv "$1/" $2
lastname=`echo "$2" | cut -d'_' -f1`;
d=`echo "$3" | cut -d'.' -f1`
m=`echo "$3" | cut -d'.' -f2`
y=`echo "$3" | cut -d'.' -f3`
cd $2
for i in *.pdf
do
if find . -name "EV"
then
mv "$i" xx_EV_${lastname}.pdf
elif find . -name "*GV*"
then
mv "$i" xx_GV_${lastname}.pdf
else
mv "$i" xx_V_${lastname}_$3_$y$m$d.pdf
fi
done
fi
cd $pathscripts
And the respective file containing the arguments:
Code:
#!/bin/bash
./rename.sh "M++ller Bert" Mueller_Bert 20.02.2013 AB
./rename.sh "N+ñme Firstname + Secondname Secondfirstname" Naeme_Firstname 19.01.2010 CD
./rename.sh "Random Na-me" Random_Name 15.03.2007 CD
./rename.sh "Specialist S+Âhnke" Specialist_Soehnke 17.09.2009 AB
I would have preferred a more general approach just like:
Code:
for folder in Allfolders/*; do
if [[ -d "$folder" ]]; then
newname=`echo "$folder" | sed 's/ /_/g;s/ä/ae/g;s/Ä/Ae/g;s/ü/ue/g;s/Ü/Ue/g;s/ö/oe/g;s/Ö/Oe/g;s/ß/ss/g;s/+/-/g;'`
mv "$folder" "$newname"
fi
done
But this does not work due to encoding problems. I took the folder structure zipped from a windows server. If I unpack it using the Mac OSX tools, it would ignore the umlauts, just convert spaces to "_". So, I unpacked the zip folder on a windows machine and so I can at least convert the umlauts.
I hope I could make it clear what the situation is and what I want to get in the end.
Thank you SO much for advices and help!
tempestas
PS: the .pdf files are created from scans, i.e. these are images.
HI All,
I am having a bit of trouble using the find command in my shell (korn) script.
I was hoping someone could help me.
I am trying to build up a dynamic find command based on some parameters.
When I execute the command I get the following error:
find: incomplete statement
I have... (6 Replies)
Hi all,
Have the following snippet of code that I'm having trouble trying to work ...
The snippet of code is running on our Production Server and the intent is to copy the second most recent IDE file across from the Development Server.
I have the following files defined in $DEVLOC ...... (4 Replies)
Hi,
Iam having a strange problem, wandering if soneone can throw some lights.
I have statement
find . -maxdepth 1 -name 'File1*.tsv' -mtime +1 -print
I expect the above statement to print the files older than 1 day or 24 hrs,
however it doesn't work that way. When issue above command,... (2 Replies)
When I am doing the first command the result shows all the files, links, directories except the ones that contain the word logs
find . -type f -o -type l -o -type d | grep -v logs
But when I am trying to do this even the logs are getting tarred
tar -cvf fdtvision.tar `find . -type f -o -type l... (2 Replies)
I am using HP-UNIX , The below command doesnt display anything although i have changed a file in the directory by
toutch -t 200010101800 nfile
find /tmp/transfer/ -name "*.*" -mtime +1
Any problrm with the find command i written . .Please help ??..
Thanks,
Arun (4 Replies)
Hi All,
I am using following find command to delete the records older than 7 days but getting missing conjuction error.Kindly suggest:
The command is:
find <complete_dir_path> \(! -name usr -prune \) -type f -name "*.txt" -mtime +6 -print | xargs rm (11 Replies)
I'm trying to display the full file name (including the full path) and file size of all files whose name (excluding the path) is longer than 10 characters.
I came up with find path -type f -name ".{10, }" -printf "%s %p\n", but I'm getting a "find: path: No such file or directory". What's wrong... (2 Replies)
for index in `find /root -name *.jar | grep "/lib"`; do echo "$index"; done
sometimes its throwing error saying
find: paths must precede expression
Usage: find
some1 suggested me that :
Code:
for index in `find /technologies -name '*.jar' | grep "/lib"`
do
echo "$index"... (2 Replies)
Hi
I want to find files with size +10000M and specified directorys except
when i use more than one `-name` acton is fail
I try -a (and) and -o (-or) but results fail :(
find . \( -name ./oracle* -prune -o -name "*arc*" -prune -o -name "*oracle*" -prune -o -size +10000k \) -exec ls -lh {}... (7 Replies)
Hello Guys ,
I am trying to run below find command in one of my SH script on a HP UX machine.
find /tmp -type f -name "MGCA*.log" -prune -exec rm -f {} \; 2>&1
I want this to check my tmp directory and delete MGCA log files .But below error message is printed on Promt :-
find: cannot... (2 Replies)