Como eu redireciono uma pasta para um arquivo?

3

Eu copiei um grande e-mail (texto bruto) de um terminal da web. Eu posso colar isso no terminal, mas quero alimentá-lo para sa-learn . Eu estava pensando que uma coisa que eu poderia fazer aqui é usar o heredoc. Esta sintaxe parece funcionar.

$ echo <<EOF | sa-learn --spam
<paste email>
EOF

No entanto, parece que não funciona ...

$ echo <<EOF > foo
AOSJFDOASDFJKOK
EOF

$ cat foo
(nothing)

Como funciona um heredoc no bash?

    
por Evan Carroll 29.02.2012 / 21:52

3 respostas

3

echo imprime seus argumentos e ignora stdin . <<EOF ... EOF (um documento aqui / heredoc ) escreve para stdin . Como você percebeu, catstdin (e escreve), então lê o heredoc. Como sa-learn lê a partir de stdin , ele também lê o heredoc .

    
por 29.02.2012 / 22:02
4

Para quem estiver lendo esta pergunta e usar o Mac OS X, consulte pbpaste(1) . Ele pega o que quer que esteja na sua área de transferência (o NeXTStep costumava chamar isso de papelão, e as APIs do Cocoa ainda fazem isso, daí o "pb") e envia para stdout . Então, em um Mac, você pode fazer isso com:

pbpaste | sa-learn --spam

Observe também o pbcopy(1) relacionado.

    
por 01.03.2012 / 00:18
1

Gostaria de saber se Ctrl + X , Ctrl + E ajudaria aqui.

Permite-lhe abrir rapidamente um editor para escrever um comando longo. Também parece haver um http://www.commandlinefu.com/commands/view/1446/rapidly-invoke-an-editor-to-write-a-long-complex-or-tricky-command " > alternativas .

    
por 29.02.2012 / 22:08

Tags