Como criar um simples arquivo .txt (texto) usando o terminal? [fechadas]

68

Estou apenas tentando rever os comandos básicos do terminal. Dito isso, como faço para criar um arquivo de texto usando apenas o terminal?

    
por Mike Wentworth 06.10.2014 / 21:08

5 respostas

90

Você não pode usar um terminal para criar um arquivo. Você pode usar um aplicativo em execução em um terminal. Basta invocar qualquer editor não-GUI ( emacs -nw , joe , nano , vi , vim ,…).

Se você quis dizer usar a linha de comando, então você está perguntando como criar um arquivo usando o shell. Veja Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?

A maneira básica de criar um arquivo com o shell é com redirecionamento de saída . Por exemplo, o comando a seguir cria um arquivo chamado foo.txt contendo a linha Hello, world.

echo 'Hello, world.' >foo.txt

Se você quiser escrever várias linhas, aqui estão algumas possibilidades. Você pode usar printf .

printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt

Você pode usar um literal de string contendo novas linhas.

echo 'First line.
Second line.
Third line.' >foo.txt

ou

echo $'First line.\nSecond line.\nThird line.' >foo.txt

Outra possibilidade é agrupar comandos.

{
  echo 'First line.'
  echo 'Second line.'
  echo 'Third line.'
} >foo.txt

Na linha de comando, você pode fazer isso mais diretamente com cat . Redirecione sua saída para o arquivo e digite a linha de entrada por linha na entrada padrão de cat . Pressione Ctrl + D no início da linha para indicar o final da entrada.

$ cat >foo.txt
First line.
Second line.
Third line.
Ctrl+D

Em um script, você usaria um documento aqui para obter o mesmo efeito:

cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF

Se você quiser apenas criar um arquivo vazio, você pode usar o comando touch : ele cria o arquivo se ele não existir e apenas atualiza sua data da última modificação, se existir.

touch foo.txt

Equivalente:

>>foo.txt

i.e. abra foo.txt para acrescentar, mas escreva 0 bytes - isso cria o arquivo, mas não o modifica. Ao contrário de touch , isso não atualiza a data da última modificação do arquivo, se já existir.

Para criar um arquivo vazio e remover o conteúdo do arquivo, se o arquivo já existir, você pode usar

>foo.txt
    
por 07.10.2014 / 00:09
13
touch ~/Desktop/something.txt

Isso criará um arquivo txt vazio.

Ou

echo "Hello" > ~/Desktop/somethingelse.txt

Isso criará um arquivo txt dizendo "Olá".

nano ~/Desktop/anotherfile.txt

Isso abrirá ~/Desktop/anotherfile.txt em nano ou, se não existir, irá criá-lo e abri-lo em nano .

O mesmo pode ser feito simplesmente substituindo nano por emacs ou vim e ele usará emacs ou vim em vez de nano

    
por 06.10.2014 / 21:18
9

Tudo o que é preciso para criar um arquivo vazio é:

> my.txt
    
por 06.10.2014 / 21:48
2

Você pode usar o programa de edição nano, vi ou emacs para criar um arquivo no nível do terminal. Se você estiver usando o sistema x windows, precisará informar ao seu sistema para não usar o programa na GUI; mas de qualquer maneira, eu vou usar o emacs como um exemplo.

Do bash; tipo:

 emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever 
directory type in "emacs filename.txt" command.

tenha em mente que em todo o sistema UNIX o VI vem com ele; O emacs não, você precisará instalar o emacs. Nano, por outro lado, é mais popular; apenas no caso, se isso não responde, significa que quando você "nano filename.ext" e nada acontece, você precisará instalá-lo.

depois de emitir o vi filename.txt, você provavelmente acabará criando um novo arquivo. Você deve procurar o vi, o emacs ou o nano como usar no google antes de começar. Como escrever um arquivo, editá-lo, usar suas ferramentas para pesquisar e substituir texto é diferente nesses programas de edição. Eu gosto de emacs fora de todas as escolhas, mas você vai encontrar desenvolvedores que são obcecados com ou fav e vi nano

    
por 06.10.2014 / 21:21
1

Algo útil quando você está preso e deve criar um arquivo de texto de várias linhas na linha de comando é algo assim:

# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile 
This "should"
prove useful, 'maybe'.

Você pode substituir cat por outro comando, por exemplo grep e padrão , e fazer com que o grep faça o seu trabalho em sua entrada e isso resultará no arquivo da mesma forma. / p>     

por 06.10.2014 / 23:54