У меня была та же проблема, и когда я запускал apt-get update
, он выдавал предупреждения типа:
E: Repository 'http://security.debian.org/debian-security buster/updates InRelease'
changed its 'Suite' value from 'testing' to 'stable'
N: This must be accepted explicitly before updates for this repository can be applied.
See apt-secure(8) manpage for details.
исправил это, запустив apt-get update --allow-releaseinfo-change
, как предложено здесь https://superuser.com/questions/1456989/how-to-configure-apt-in-debian-buster-after-release, похоже, также решил мою проблему с установкой libbz2 -разработчика.
Если ваша оболочка является оболочкой bash, вы можете просто сделать следующее, включив Extended Glob:
shopt -s extglob
mv -- !(special.file).bam temp/
чтобы подавить ошибку :"bash: /usr/bin/mv: Argument list too long
", когда существует слишком много файлов, соответствующих заданному шаблону, выполните следующие действия:
for file in !(special.file).bam; do
mv -- "$file" temp/
done
или с помощью команды find
и переносимости:
find. -path './*' -prune -type f -name '*.bam' ! -name 'special.file.bam' \
-exec sh -c 'for file; do mv "$file" temp/; done' sh_mv {} +
удалите часть -path './*' -prune
, чтобы найти файлы и в подкаталогах -.
Если количество файлов превышает длину строки команды -, вам все равно нужно использовать find
. Я бы предложил объединить его с xargs
и файлами с нулевым разделителем (\0
), например.:
find. -maxdepth 1 -type f -name '*.bam' ! -name 'special.file.bam' -print0 |
xargs -0 mv -t /path/to/destination
Примечание. :всесторонние испытания не проводились, используйте с осторожностью.
find. -maxdepth 1 -type f -name "*.bam" ! -name "special.file.bam" -exec mv {} NewDir \;