Carmel NY wrote:
I am attempting to write a simple Bash script that will find all the
'*.pem' files in a directory structure and move them to another
directory. It seems to work until I get to the copy part where it fails.

My scripting skills are not that good. Perhaps someone could tell me
what I am doing wrong.

This is the script:

#! /usr/bin/env bash

# Save the field separator
oIFS=$IFS

# Set it to line breaks
IFS=$'\n'

for i in $(find ./ -name "*.pem" -print); do

# Get the basename
BN=$(basename $i)

# copy the file to another directory using the base name
cp $i /usr/home/tmp/$BN

done

# Reset the IFS variable
IFS=$oIFS

exit

That's a one-liner:

% find . -depth -name '*.pem' -print0 | cpio -0pdmu /usr/home/tmp

Actually, that just /copies/ all of the *.pem files to the other directory
tree, so if you want to remove the original files, you'ld also need to do:

% find . -name '*.pem' -delete
once you're sure everything has copied across OK, and with the proviso
that '.' is neither a parent or child of /usr/home/tmp

        Cheers,

        Matthew


--
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                 Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                 Kent, CT11 9PW

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to