Que versão do split suporta flag -p?

1

Este comando não funciona no GNU Coreutils split, split do Cern Linux 5 (Redhat) e do BSD (Apple Yosemite 10.10.3):

split -p'
split -p'%pre%' input.txt
' input.txt

em que input.txt é masisplit -p'echo 'masisplit: unrecognized option --p\0'hello' | split -p'\0'' input.txthello-pworld . Seguem alguns comentários sobre as versões:

  • Eu faço split no BSD Split mas não recebo nada como saída no OSX Yosemite 10.10.3, GNU bash, versão 3.2.57 (1) -release (x86_64-apple-darwin14).
  • Eu faço split na divisão 5.97 GNU 2012 no CERN Linux 5 (Redhat). % De saída-p.
  • não há opção -p na divisão GNU Coreutils

Esqueci onde usei com sucesso a opção %code% com %code% . Qual versão de %code% suporta o sinalizador %code% ?

    
por Léo Léopold Hertz 준영 24.06.2015 / 13:02

1 resposta

1

A opção -p no Mac OS X será dividida quando uma linha corresponder a -p'^A' . Então você precisa fornecer novas linhas em torno do ^A . Desculpe eu não tenho uma solução para você. Você está usando a ferramenta errada. Você pode olhar para o perl. Traduza seus caracteres NUL para CTRL - A , adicione as novas linhas e então use split com %code% ( CTRL - V CTRL - A ). Por exemplo, você pode fazer algo como:

cat input.txt |perl -p -e 's/
cat input.txt |perl -p -e 's/%pre%/\n^A\n/g'| split -p ^A
/\n^A\n/g'| split -p ^A

Onde %code% é CTRL - A , mas não tenho certeza se isso é importante.

    
por 18.02.2016 / 03:42