По крайней мере, с bash
вы можете передать переменную ширину поля, используя модификатор преобразования стиля C -printf
*
:
width=50
printf '%*s\n' $width "I ate 4 eggs"
I ate 4 eggs
Подробнее см. man 3 printf
.
Как использовать его в цикле for, зависит от желаемого результата.
Судя по вашему комментарию, вы можете использовать
for i in {45..50}; do
for j in {1..13}; do
printf '%*.*s\n' $i $j "I ate 4 eggs"
done
done
для предоставления как ширины поля, так и точности в качестве переменных, в результате чего
I
I
I a
I at
I ate
I ate
I ate 4
I ate 4
I ate 4 e
I ate 4 eg
I ate 4 egg
I ate 4 eggs
I ate 4 eggs
I
I
I a
I at
I ate
I ate
I ate 4
I ate 4
I ate 4 e
I ate 4 eg
I ate 4 egg
I ate 4 eggs
I ate 4 eggs
и так далее.
Файлы Java .class
содержат байт-код Java для запуска на JVM. Не зная точки входа программы (, которой принадлежат эти .class
файлы ), нельзя «выполнить» отдельные .class
файлы. Если вы хотите увидеть исходный код (, также известный как .java
файлы ), которые использовались для их создания, попробуйте использовать JD, декомпилятор Java :https://java-decompiler.github.io/
Править :Похоже, JD сильно устарел. Вместо этого используйте этот онлайн-декомпилятор:http://www.javadecompilers.com/
Редактировать #2 :Судя по всему, эти .class
файлы являются отдельными апплетами. Следуйте этому краткому руководству, чтобы заставить их работать (вам понадобится Java 8 дляappletviewer
):https://www.cs.colostate.edu/helpdocs/JavaInDOS.html(просто замените команды DOS их эквивалентами *nix, nano
для notepad
, mv
вместо cp
и т. д.)