Вы можете использовать расширение параметра , чтобы удалить родительские каталоги Ref
и Data
, включая /
, и удалить суффикс .bed
из имени файла.
${varname##*/}
удалить самый большой шаблон префикса, чтобы удалить родительский путь ${varname%.bed}
удалить наименьший шаблон суффикса, чтобы удалить расширение файла .bed
for fileref in Ref/*.bed; do
fref=${fileref##*/}
fref=${fref%.bed}
for filename in Data/*.bed; do
fname=${filename##*/}
fname=${fname%.bed}
bedops -e 1 "$fileref" "$filename" > "${fref}${fname}.out"
done
done
То же самое можно сделать с помощью команды basename
, которая печатает имя файла по заданному пути и, при необходимости, удаляет суффикс:
for fileref in Ref/*.bed; do
for filename in Data/*.bed; do
bedops -e 1 "$fileref" "$filename" > "$(basename "$fileref" ".bed")$(basename "$filename" ".bed").out"
done
done