[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: