escrevendo um arquivo de texto no terminal com toque

1

eu olhei em todos os lugares e estou me sentindo sem esperança

meu arquivo é este

 mkdir -p ~/Desktop/new_file && echo "hello\world > ~/Desktop/new_file.txt

Eu também tentei

 hello\n world

 hello ; world

Estou tentando realizar um sinal de retorno para minha saída hello world para uma sentença de várias linhas, todas do terminal

    
por hello moto 26.03.2017 / 05:24

3 respostas

4

A página man de echo mostra o seguinte:

DESCRIPTION
       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline

       -e     enable interpretation of backslash escapes

O que significa que, se você quiser saída de várias linhas, basta começar com echo -e e incluir em \n para nova linha.

mkdir -p ~/Desktop/new_file && echo -e "hello\nworld" >> ~/Desktop/new_file/new_file.txt

Espero que isso ajude!

    
por Terrance 26.03.2017 / 05:49
3

Primeiro, embora seu título mencione touch , o comando que você realmente usou é mkdir , então você criou um diretório chamado new_file . Você não poderá gravar texto em new_file como está.

Na verdade, não há necessidade de criar o arquivo de destino em uma etapa separada: o redirecionamento da saída padrão de um comando para um arquivo nomeado o criará automaticamente se ainda não existir. Você pode remover o diretório (vazio) new_file usando rmdir ~/Desktop/new_file

Pelos motivos descritos aqui Por que printf é melhor que echo? você pode querer considerar usar p>

printf 'Hello\nworld\n' > ~/Desktop/new_file

ou use um documento aqui

cat > ~/Desktop/new_file
Hello
world

que permite inserir texto de múltiplas linhas diretamente, terminando a entrada com Ctrl + D quando estiver pronto.

Em ambos os casos, você pode substituir > por >> se quiser anexar, em vez de sobrescrever o conteúdo existente do arquivo.

    
por steeldriver 26.03.2017 / 14:17
1

Se eu entendi sua pergunta corretamente, você quer usar:

echo "hello" > ~/Desktop/new_file.txt && echo "world" >> ~/Desktop/new_file.txt

Em seguida, para verificar os resultados, use cat ~/Desktop/new_file.txt , que mostra:

hello
world

Existe uma maneira mais curta de fazer isso, mas eu sou um pouco nova no Linux.

    
por WinEunuuchs2Unix 26.03.2017 / 05:39