Если у вас нет системы SPARC, эмуляция - единственный вариант.
QEMU может эмулировать станции SPARCstations , работающие под управлением Solaris до версии 9. Solaris 10 не поддерживает 32-битные платформы, поэтому он не может работать с эмуляцией sun4m
; У меня сложилось впечатление, что он все еще не работает на эмуляции sun4u
(которая в любом случае все еще находится в стадии бета-тестирования).
QEMU можно запускать на многих различных платформах, включая большинство дистрибутивов Linux и Windows.
Используйте find
иshell (POSIX sh/bash/Korn/zsh) parameter substitution expansion
следующим образом.
find. -type f -name "F3.bam" -execdir sh -c '
trgt="${PWD%/*/*}"; echo cp -v "$1" "${trgt}/${trgt##*/}_${1#./}" ' _ '{}' \;
Пояснения::
Мы ищем файлы, соответствующие только F3.bam
и с -execdir
здесь, find
изменяет текущий каталог на каталог, в котором найден файл F3.bam
, затем выполняем sh -c '... '
внутри самого этого каталога.
С помощью trgt="${PWD%/*/*}"
«сокращать -до -до -первого -суффикса» :Мы избавляемся от имени файла и двух уровней его под-каталоги в/samples/mydata1/RUN1/ID_date**/PCR2/TIME1**
(полужирный часть, которая соответствует суффиксу /*/*
, удалит )и присвоит переменной trgt
. Итак, для первого файла trgt
теперь установлено значение /samples/mydata1/RUN1/ID_date
.
"$1"
является относительным путем./filename
к текущему $PWD
.
В ${trgt##*/}_
"сокращать -до -до -последнего префикса -" :Мы использовали значение переменной trgt
, чтобы получить имя подкаталога -, которое должно предшествовать -. ] зависит от имени файла, так что это вернет только ID_date
, ID2_date4
или IDxxx_datexxx
и т. д. (, удалив все до последней косой черты /
, увиденной ), и добавит подчеркивание _
.
Этот ${1#./}
удаляет точку -косую черту ./
из относительного ./filepath
.