лично я копирую базовое графическое приложение на Java, например это http://beginwithjava.blogspot.ch/2008/07/very- basic-java-graphics-3-examples.html (BasicFrame.java), скомпилируйте и запустите ... конечно, у вас должен быть установлен JDK ...
Поскольку вы уже используете раскрытие фигурных скобок, вы также можете использовать его здесь.
Либо расширение генерирует последовательность чисел (..
, литеральную):
for i in {1..30}; do
paste./directory"$i"/table{1..20}.txt >./merged_tables/tables_directory"$i".txt
done
Или перечислите их вручную (заполните поле...
):
for i in {1..30}; do
paste./directory"$i"/table{1,2,...,20}.txt >./merged_tables/tables_directory"$i".txt
done
То есть, если вы не просто хотите, чтобы все файлы в каталоге соответствовали шаблону:
for i in {1..30}; do
paste./directory"$i"/table*.txt >./merged_tables/tables_directory"$i".txt
done
for (( i = 1; i <= 30; ++i )); do
( cd "directory$i" &&
paste tableNC023.txt tableNC088.txt tableNC102.txt... ) >"./merged_tables/tables_directory$i.txt"
done
Это использует cd
для входа в каталог в подоболочке. Если cd
успешно, paste
используется для создания объединенных данных. Вывод из подоболочки перенаправляется в ваш файл результатов, как и раньше.
Поскольку cd
выполняется в подоболочке, не требуется никаких cd..
, cd -
или cd "$OLDPWD"
, чтобы "отступить" для следующей итерации.
Альтернатива для более аккуратного кода:
tables=( tableNC023.txt tableNC088.txt tableNC102.txt
more tables here )
for (( i = 1; i <= 30; ++i )); do
( cd "directory$i" &&
paste "${tables[@]}" ) >"./merged_tables/tables_directory$i.txt"
done
Мое использование for (( i... ))
вместо for i in {...}
основано исключительно на личных предпочтениях.