Você pode usar set
e expansão de parâmetro em cada elemento da matriz para imprimir apenas o nome do diretório:
set -- */text.txt
{ printf ' %s' "${@%/*}" | cut -c2-; paste -- "$@"; }
# this blank ^ is a literal tab
Em uma pasta pai, tenho várias pastas dentro dela. Dentro de cada pasta eu tenho o arquivo de texto "text.txt". Os arquivos de texto são semelhantes em todas as pastas, cada arquivo de texto contém 100 linhas e uma coluna de números. exemplo
cat /folder1/text1.txt
1654
1684
535
35131
.
.
Eu quero mesclar todos esses arquivos de texto como colunas em um arquivo usando o comando paste
. Na pasta pai, eu corri o comando
paste ./*/text*.text > all_text.txt # the content for all_text.txt is as follow:
cat all_text.txt
1654 354531 ....
1684 224
535 2424
35131 24
.
.
.
Como posso adicionar os nomes das pastas como um cabeçalho para cada coluna colada para obter a seguinte saída
cat all_text.txt
folder#1 folder #2 .....
1654 354531
1684 224
535 2424
35131 24
.
.
.
Tags files text-processing paste