Como definir os nomes dos arquivos de saída csplit por padrão?

1

Existe uma maneira de definir nomes de saída de csplit através do padrão? Eu quero dividir o ssh-config por hosts para arquivos correspondentes.

Se houver uma solução sem csplit , também estou feliz.

    
por BenjaminH 16.03.2016 / 18:29

1 resposta

0

Não, csplit só pode usar números inteiros em nomes de arquivos de saída. Se você quiser basear o arquivo de saída no conteúdo, use outra ferramenta, por exemplo, awk ou perl.

awk '
    BEGIN {out="_"}
    $1 == "Host" {if ($2 ~ /\//) exit(1); out=$2}
    {print >out}'

Observe que esse código só executa uma verificação de erro rudimentar (pelo menos, certifiquei-me de que ele fosse escrito apenas no diretório atual). Não o execute em um arquivo não confiável.

    
por 17.03.2016 / 01:17