webForumDet fria alternativet

Hjälp med ett litet bash-skript

Linux & BSD

0 svar · 182 visningar · startad av nulleman

Medlem sedan maj 200139 inlägg
Frågan#1

Kan någon hjälpa mig att hitta felet i

#!/bin/bash
find . -print|tac|while read x; do
if [ $x != $(echo $x|sed -e "s/ /_/g") ]
then
mv "$x" "`echo $x | sed -e "s/ /_/g"`"
fi
if [ $x != $(echo $x|tr [:upper:] [:lower:]) ]
then
(b=$(basename "$x");
cd $(dirname "$x") &&  mv "$b" $(echo $b|tr [:upper:] [:lower:]));
fi
done

Det fungerar om man tar bort if-satsen runt
mv "$x" "`echo $x | sed -e "s/ /_/g"`"
men då tillämpar den denna ändring på alla filer, även om dom inte innehåller mellanslag

268 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)