webForumDet fria alternativet

Hjälp med ett litet bash-skript

0 svar · 182 visningar · startad av nulleman

nullemanMedlem sedan maj 200139 inlägg
#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

124 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)