O que significa que “Espaços em branco em falso fazem com que uma linha de entrada seja logicamente continuada na próxima linha de entrada” significa?

5

Do manual de xargs :

-L max-lines 

Use at most max-lines nonblank input lines per command line. Trailing blanks cause an input line to be logically continued on the next input line. Implies -x.

O que significa que "Espaços vazios à direita fazem com que uma linha de entrada seja logicamente continuada na próxima linha de entrada"? Você pode mostrar isso por alguns exemplos? Obrigado.

Originado do link

    
por Tim 07.06.2018 / 07:07

1 resposta

10

O que o manual está dizendo é que, espaços à esquerda no final de uma linha de entrada farão com que xargs a trate como se fosse parte da linha a seguir - efetivamente escapando da nova linha. Considere a seguinte execução de comando:

user@host~:$ (echo "line1"; echo "line2") | xargs -L 1 echo
line1
line2

Por causa da opção -L 1 , cada linha de entrada é processada separadamente, portanto, obtemos duas linhas de saída. Agora, compare isso com o exemplo a seguir, em que a primeira linha de entrada contém um espaço à direita:

user@host~:$ (echo "line1 "; echo "line2") | xargs -L 1 echo
line1 line2

Observe que as duas linhas são tratadas como uma única linha de entrada por xargs .

Também vale a pena notar (pelos comentários) que a opção -L max-lines é uma extensão XSI (cf. a página xargs man no site do Open Group . Isso também é chamado de Extensão de Interfaces do Sistema X / Open - uma especificação suplementar à Especificação Única do UNIX (SUS) .

Para mais informações sobre as diferenças entre POSIX, SUS e XSI, veja o seguinte post:

Ou consulte a seção de conformidade do Bases Definition Volume da Open Group Base Especificações .

    
por 07.06.2018 / 07:19

Tags