Использовать вывод awk как ввод для mv

Числа в bc представлены в виде десятичных дробей (фактически в базе 100 одна цифра на байт), а не так, как процессоры делать. Числа выводятся так, как они хранятся во внутреннем реестре bc. Функция печати не позволяет печатать числа с показателем степени. Но в бк все возможно. Вы можете создать свою собственную функцию для форматирования вывода чисел. Вы можете хранить свои собственные функции в файле и добавить путь к файлу в переменную BC_ENV_ARGS, тогда функции будут доступны каждый раз, когда вы вызываете bc.

Проверьте http://phodd.net/gnu-bc/code/output_formatting.bc для функции printfe...

0
23.05.2017, 15:39
2 ответа

Включите mv в awk с помощью функции system () :

awk '$1<500 && $2<500 {system("mv "$3" /destination")}

Измените команду mv в соответствии с вашими потребностями, здесь я использовал:

mv /file_(third_field)_from_awk /destination

Также вам не нужно несколько awk , достаточно только одного, как показано выше.

2
28.01.2020, 02:25

Предполагая, что у вас нет имен файлов со встроенными символами новой строки, вы можете использовать для этого программы GNU mv и xargs .

 ... | awk ... | xargs -d'\n' mv -t ./small_images

xargs собирает имена файлов из входных данных и добавляет их в команду mv -t ./small_images, при необходимости разделяя очень длинные команды. Вам нужна версия mv с параметром -t , чтобы указать целевой каталог в начале команды, или же написать небольшой скрипт для его обработки.

1
28.01.2020, 02:25

Теги

Похожие вопросы