for i in /path/to/*.sample
do
str="; label=$(basename -s.sample $i);"
sed "/^>/ s/$/$str/" "$i"
done
-
O comando
basenamefornece apenas o nome do arquivo, removendo o caminho. E-s.sampleirá remover a extensão - Então, se
ifor/path/to/filename.sample,strconterá; label=filename; -
/^>/ s/$/$str/encontrará uma linha começando com>e adicionará o conteúdo da variávelstrao final dessa linha
Eu não entendo como você deseja que o arquivo de saída seja nomeado. Se i for /path/to/filename.sample , "$i"_bar fornecerá /path/to/filename.sample_bar