У меня есть Java-программа, которая требует времени для выполнения, и мне нужно сделать 10 прогонов, и меня интересуют только последние 5 строк вывода, фактический вывод работает сотнями линий. Поскольку я хочу усреднить вывод, я хочу tail -5
для запуска в файл. Также один из параметров (--random)
в моих аргументах меняется в каждом прогоне.Unix cat and tail для вывода java-программы
Я делаю следующее:
for i in {1..10} ; do cat output| tail -5 | java -cp src.Tagger.java --random $1; done
К сожалению я очень плохо Баш.
Не используйте 'cat' для соединения в' tail'. Просто скажите 'tail -5 output'. –
Откуда берется значение '--random'? Код, который вы выглядите корректно, синтаксически, но '$ 1' может не быть значением, которое вы хотите поставить на' --random'. – chepner
Ваш скрипт не соответствует вашему объяснению того, что вы хотите. Ваш скрипт читает последние 5 строк файла 'output' и передает его в качестве входа в ваш процесс' java'. Ваше описание, кажется, говорит, что вам нужны последние 5 строк вывода вашего процесса 'java', который будет' java -cp .... | tail -5'. – twalberg