Re: bash pipe ed altro
ciao Roberto Bartola,
> find . -user bartola | chown pippo *
> find . -user bartola < chown pippo *
find . -user bartola -print0 |xargs -0r chown pippo
dovrebbe funzionare
> inoltre come posso rinominare i file che contengono una stringa nel nome
> in file che ne contengono un'altra fermo restando gli altri caratteri?
> una cosa tipo
>
> mv *ABC* *DEFGHJ*
> che rinomini i file:
> vvvvABCxxxx in vvvvDEFGHJxxxx
> vv123vvABCxx456xx in vv123vvDEFGHJxx456xx
> pippo/vvvvABCxxxx in pippo/vvvvDEFGHJxxxx
> pippo/vv123vvABCxx456xx in pippo/vv123vvDEFGHJxx456xx
#!/bin/sh
# uso: $0 ABC DEFGHJ
# vvvvABCxxxx -> vvvvDEFGHJxxxx
# man bash :-)
STRFROM=$1
STRTO=$2
if [ -z "$STRFROM" -o -z "$STRTO" ] ; then
echo "devi inserire le due stringhe da cercare/sostituire"
exit 1
fi
LENSTRFROM=${#STRFROM}
echo $LENSTRFROM
for FILE in *${STRFROM}* ; do
echo -n "$FILE: "
LEFT=${FILE%${STRFROM}*}
echo -n "$LEFT "
LENLEFT=${#LEFT}
START=$((LENSTRFROM+LENLEFT))
# echo -n $START
RIGHT=${FILE:$START}
echo -n " $RIGHT"
echo -n " -> "
echo ${LEFT}${STRTO}${RIGHT}
done
ciao
--
/* Paolo Pedaletti,
Reply to: