janelas reais equivalentes a cat * stdin *

5

Em cmd existe um equivalente no Windows para o comando posix cat ?

cat por si só sem nomes de arquivo, sem interrupções. Eu só quero algo que copia stdin para stdout até atingir EOF.

não é um programa difícil de escrever, mas é fornecido pelo windows?

a resposta não é necessariamente uma única palavra e definitivamente não é um tipo.

echo test | type

só me informa uma mensagem de erro

echo test | type con 

trava esperando para eu digitar algumas coisas

echo test | more

está próximo, mas "mais" é interrompido após uma tela inteira.

O motivo pelo qual eu quero isso é para executar um programa que se comporta de maneira diferente quando o stdout está em um pipe. para ver a saída.

    
por user313114 17.12.2014 / 05:09

3 respostas

4

someprog | findstr x* ou qualquer outro caractere único seguido por asterisco copia todas as linhas do stdin do pipe para stdout. Especificamente, ele copia cada linha se ela contém x ou não, o que você pode ver facilmente é sempre verdadeiro. Windows findstr é aproximadamente equivalente a Unix grep , mas com pequenas diferenças na sintaxe.

findstr é destinado ao texto e não tenho certeza (e não testei) se ele funciona para dados binários com poucos ou nenhum [CR] LFs e, portanto, linhas aparentes muito longas. Unix cat sem args funciona para binário, mas seu caso de uso indicado são programas que alteram sua saída para pipes e, na minha experiência, isso só acontece na saída de texto - e geralmente não são pipes como tal, mas não NON-tty / NON-console / etc e, portanto, posso testar igualmente com someprog >temp; cat temp no Unix ou & type no Windows, a menos que o programa seja interativo e precise ver uma saída antes de inserir a próxima entrada.

    
por 17.12.2014 / 14:22
1

O equivalente Windows mais próximo do cat do * nix é o TYPE comando. Note que nos sistemas * nix, cat é, na verdade, um programa separado, enquanto o Windows ' TYPE é, na verdade, parte do interpretador de linha de comando.

    
por 17.12.2014 / 07:25
-1

ECHO Deve funcionar de forma semelhante ao CAT.

Echo text em um FILE

A sintaxe geral é

Echo This is some Text > FileName.txt

ou se você quiser evitar espaços extras: Eco Um pouco mais de texto > Nome_do_Arquivo.txt

    
por 17.12.2014 / 05:18

Tags