Você pode usar um loop de uma linha como este:
for f in file1 file2 file3; do sed -i "s/$/\t$f/" $f; done
Para cada arquivo na lista, isso usará sed para anexar ao final de cada linha uma guia e o nome do arquivo.
Explicação:
- Usando o sinal
-icomsedpara realizar uma substituição no local, sobrescrevendo o arquivo - Execute uma substituição com
s/PATTERN/REPLACEMENT/. Neste exemplo, PATTERN é$, o fim da linha, e REPLACEMENT é\t(= a TAB), e$fé o nome do arquivo, da variável de loop. O comandos///está entre aspas duplas para que o shell possa expandir as variáveis.