Aproveite a for
construct:
GLOBIGNORE=newfile.tab
for f in *tab; do cat "$f"; echo; done >newfile.tab
Expandido:
GLOBIGNORE=newfile.tab
for f in *tab; do
cat "$f"; echo
done >newfile.tab
-
GLOBIGNORE=newfile.tab
é para excluirnewfile.tab
do shell globbing, pois esse é o nosso arquivo de saída -
for f in *tab
itera os arquivos que terminam emtab
-
cat "$f"
envia o conteúdo do arquivo -
echo
adiciona uma nova linha -
O descritor de arquivo do redirecionamento
>newfile.tab
é mantido aberto pela duração defor
, ou seja, o arquivonewfile.tab
é aberto-fechado uma vez
Além disso, você pode usar printf
para fazer a formatação uma vez:
for f in file.txt*; do printf '%s\n\n' "$(<"$f")"; done
Expandido:
for f in file.txt*; do
printf '%s\n\n' "$(<"$f")"
done