Usando apenas o shell:
for f in *", attachment"; do
mv "$f" "${f%, attachment}"
done
O formulário ${f%something}
retorna o valor da variável f
com o texto após o %
removido do final do valor.
$ var="hello world"
$ echo "${var%orld}"
hello w
Se você colocar um padrão glob lá, a correspondência mais curta será removida com ${var%pattern}
e a correspondência mais longa com ${var%%pattern}
$ echo "${var%l*}"
hello wor
$ echo "${var%%l*}"
he
Se o padrão não corresponder ao final da string, nada será removido
$ echo "${var%foo}"
hello world
Consulte o link