Corte delimitado com espaço sem escape?

Corte delimitado com espaço sem escape?

Eu tenho um arquivo com texto no formato de:

User\ Name My\ Password

Observe que este é na verdade um arquivo de 2 colunas, onde as colunas contêm espaços de escape.

cut -d' ' -f2produz Name, mas eu quero produzir My Password.

É possível usar cute delimitar apenas com base em espaços sem escape? Caso contrário, que comando alternativo posso usar?

Responder1

Eu sugeriria GNUgrepabordagem:

Amostra input.txt:

User\ Name My\ Password
first\ field second\ field

Corte o segundo campo de2 colunasarquivo:

grep -Po '[^\\]\x20\K.*' input.txt

A saída:

My\ Password
second\ field

Ou o mesmo comsed:

sed 's/.*[^\\]\x20\(.*\)/\1/' input.txt

----------

A parte crucial do padrão regex é [^\\]\x20que corresponde a um espaço \x20(código hexadecimal de espaço) se for precedido por qualquer caractere, exceto a barra invertida de escape[^\\]

informação relacionada