Просто пробегитесь через весь военно-морской объект и удалите класс, когда пользователь закроет вкладку
$('.your-close-icon').on('click', function() {
$('.nav-item').removeClass('active');
});
If I understand right, you have e.g. image_001.jpg, image_003.jpg, image_005.jpg, and you want to rename to image_001.jpg, image_002.jpg, image_003.jpg.
EDIT: This is modified to put the temp file in the current directory. As Stephan202 noted, this can make a significant difference if temp is on a different filesystem. To avoid hitting the temp file in the loop, it now goes through image*
i=1; temp=$(mktemp -p .); for file in image*
do
mv "$file" $temp;
mv $temp $(printf "image_%0.3d.jpg" $i)
i=$((i + 1))
done
Это делает обратное тому, что вы запрашиваете (беря файлы формы * .jpg.001 и конвертируя их в * .001.jpg), но их можно легко изменить для ваших целей:
for file in *
do
if [[ "$file" =~ "(.*)\.([[:alpha:]]+)\.([[:digit:]]{3,})$" ]]
then
mv "${BASH_REMATCH[0]}" "${BASH_REMATCH[1]}.${BASH_REMATCH[3]}.${BASH_REMATCH[2]}"
fi
done
Простой цикл (тест с echo
, выполнение с mv
):
I=1
for F in *; do
echo "$F" `printf image_%03d.jpg $I`
#mv "$F" `printf image_%03d.jpg $I` 2>/dev/null || true
I=$((I + 1))
done
(я добавил 2> / dev / null || true
для подавления предупреждений об идентичных исходных и целевых файлах. Если это вам не нравится, воспользуйтесь ответом Мэтью Флашена .)
Здесь уже есть несколько хороших ответов; но некоторые полагаются на сокрытие ошибок, что не является хорошей идеей (предполагается, что mv
выдаст ошибку только из-за ожидаемого условия - а как насчет всех других причин mv
может ошибиться?) .
Более того, это можно сделать немного короче и лучше процитировать:
for file in *; do
printf -vsequenceImage 'image_%03d.jpg' "$((++i))"
[[ -e $sequenceImage ]] || \
mv "$file" "$sequenceImage"
done
Также обратите внимание, что вы не должны использовать свои переменные в сценариях bash.
I was going to suggest something like the above using a for loop, an iterator, cut -f1 -d "_", then mv i i.iterator. It looks like it's already covered other ways, though.