Como uso o comando cat para mostrar o conteúdo de um arquivo de texto com parágrafos numerados? [duplicado]

0

Eu quero imprimir um arquivo de texto no terminal com parágrafos numerados usando o comando cat.

    
por LinuxMaster2000 12.10.2016 / 14:57

2 respostas

2

Embora algumas implementações cat tenham uma opção -n para numerar linhas ou -b para numerar linhas não em branco, não conheço nenhuma que tenha uma opção para numerar parágrafos . Você precisaria de outra ferramenta como o awk para fazer isso:

number_paragraphs() {
  awk '!/[^[:blank:]]/ {print; flag=0; next}
       !flag++ {n++}
       {printf "%4d %s\n", n, $0}'
}

para obter uma saída como:

$ lorem -p2 | fmt -w70 | number_paragraphs
   1 Aspernatur dicta in commodi suscipit officia. Est at voluptas aut
   1 eveniet. Voluptatem placeat recusandae sed consequatur et ullam
   1 expedita vitae. Quis velit modi soluta ea eos eaque cum inventore.

   2 Tenetur ipsam non commodi. At aut aut quaerat. Delectus ipsam
   2 dicta corrupti consequuntur. Suscipit et quibusdam nihil suscipit
   2 consequuntur. Quis eum numquam qui.

Ou:

number_paragraphs() {
  awk '!/[^[:blank:]]/ {print; flag=0; next}
       !flag++ {n++; printf "%4d %s\n", n, $0; next}
       {print "    ", $0}'
}

para obter uma saída como:

$ lorem -p2 | fmt -w70 | number_paragraphs
   1 Officia a adipisci accusantium dolores velit. Et fugiat
     exercitationem quibusdam. Neque nihil explicabo molestiae sapiente
     voluptate.

   2 Ipsa error ad nobis reprehenderit. Eius adipisci similique nemo
     culpa qui quos voluptatem. Ut sint consectetur unde voluptatibus
     mollitia. Recusandae natus et quasi et perferendis. Accusantium
     non qui et iste fugiat sit unde dolores.
    
por 12.10.2016 / 15:35
0

Simples, você não faz.

cat (1) apenas concatena os arquivos dados como argumentos, então não há como fazer o cat (1) escrever números automaticamente no meio de um arquivo.

    
por 12.10.2016 / 15:14