В зависимости от того, как реализована функция uuid (), это очень плохая практика программирования - если вы попытаетесь сделать это с включенным двоичным протоколированием (т. е. в кластере), то вставка скорее всего не сработает ]. По мнению Иванова, это может решить ближайшую проблему, однако я думал, что это возвращает только значение, генерируемое для поля с автоматическим приращением. Действительно, это , что в руководстве сказано .
Также, что извлечь выгоду из использования uuid ()? Его вычислительно дорогая генерация, требует большого объема памяти, увеличивает стоимость запроса данных и не криптографически защищена. Вместо этого используйте генератор последовательности или автоинкремент.
Независимо от того, используете ли вы генератор последовательности или uuid, если вы должны использовать это как единственный уникальный ключ в базе данных, вам нужно сначала присвоить значение, прочитать его обратно в phpland и вставить / свяжите значение как литерал с последующим вставным запросом.
rm -r
повторяется в каталогах, но только каталоги, которые вы предоставляете rm
. Это также удалит эти каталоги. Одно из решений:
for i in $( find . -name *.pyc )
do
rm $i
done
find
найдет все файлы * .pyc рекурсивно в текущем каталоге, а цикл для
будет перебирать список найденных файлов, удаляя каждый из них.
find . -name '*.pyc' -print0 | xargs -0 rm
Поиск рекурсивно ищет файлы * .pyc. Xargs берет этот список имен и отправляет его в rm. -Print0 и -0 говорят двум командам разделять имена файлов нулевыми символами. Это позволяет ему корректно работать с именами файлов, содержащими пробелы, и даже с именами файлов, содержащими новую строку.
Решение с -exec работает, но оно раскручивает новую копию rm для каждого файла. В медленной системе или с большим количеством файлов это займет слишком много времени.
Вы также можете добавить еще пару аргументов:
find . -iname '*.pyc' -print0 | xargs -0 --no-run-if-empty rm
iname добавляет нечувствительность к регистру, например * .PYC. No-run-if-empty не позволяет получить сообщение об ошибке от rm, если у вас нет таких файлов.
Я использовал для этого псевдоним:
$ which pycclean
pycclean is aliased to `find . -name "*.pyc" | xargs -I {} rm -v "{}"'
Если вы используете bash> = 4.0 (или zsh)
rm **/*.pyc
Обратите внимание, что * / *. Pyc
выбирает все файлы .pyc
в непосредственных подкаталогах первого уровня, в то время как ** / *. pyc
рекурсивно сканирует все дерево каталогов. Например, foo / bar / qux.pyc
будет удален rm ** / *. Pyc
, но не * / *. Pyc
.
Должны быть включены параметры оболочки globstar. Чтобы включить globstar
:
shopt -s globstar
и проверить его состояние:
shopt globstar
Если Вы хотите удалить все .pyc файлы из папки проекта.
Первый, Вы имеете
cd <path/to/the/folder>
, затем находят весь .pyc файл и удаляют.
find . -name \*.pyc -delete
Чтобы добавить еще один вариант, вы также можете использовать обратные кавычки, например:
rm `find . -name *.pyc`
find. -name '* .pyc' -delete
Несомненно, самый простой.