Кроме тестирования производительности, я не знаю ни одного сценария, при котором вам нужно было бы очищать кеши. Кеши Linux управляются грамотно, и используемая ими память всегда доступна по запросу. Таким образом, вы, вероятно, ничего не добьетесь, промывая их, кроме замедления вашей системы.
Хорошее прочтение по этому поводу см. на этой веб-странице .
Это возможно без написания сценария («файл bash»), но не без использования цикла:
for f in *.ext ; do cp -- "$f" "$(basename "$f" .ext)" ; done
basename
может использоваться для удаления суффикса.
Без шлейфа это определенно возможно. Это хорошо ... Я оставлю это на ваше усмотрение.
$ find . -type f -name "*.ext" -print0 | xargs -0 -I {} echo cp -T {} {}SUB | sed -e 's/\.extSUB//g'
добавьте канал в sh, чтобы выйти из режима пробного прогона. Обратные кавычки бесполезны, поскольку они удаляют символы новой строки, если вы не имеете дело с $ IFS. Как уже упоминалось, есть и другие проблемы с символами, связанные с обратными кавычками. Также нужен cp -T, поскольку последний аргумент обычно ожидает каталог.
У меня недостаточно «rep», чтобы прокомментировать вышеизложенное, но вы можете использовать различные приемы с bash $ {}
, чтобы избежать вилки basename
.
Подстрока: $ {f: 0: -4}
или самое длинное совпадение: $ {f %%. Ext}