desenv-web-rp.com

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

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

85
Mike Wentworth

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

Se você quis dizer usar a linha de comando, 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ê deseja 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 uma string literal 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  Primeira linha.  Segunda linha.  Terceira linha. Ctrl+D

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

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

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

touch foo.txt

Equivalentemente:

>>foo.txt

ou seja, abra foo.txt para anexar, 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 ele já existia.

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

>foo.txt
117
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, ele será criado e aberto em nano.

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

13
DisplayName

Tudo o que é necessário para criar um arquivo vazio é:

> my.txt
9
SAM

Algo útil quando você está parado e precisa criar um arquivo de texto com várias linhas na linha de comando é algo como isto:

# 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 um padrão, e o grep faz seu trabalho em sua entrada e isso resultaria em arquivo da mesma maneira moda.

3
user44370

Você pode usar o programa de edição nano, vi ou emacs para criar arquivos 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; de qualquer forma, vou usar o emacs como exemplo.

Da festança; 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 todo o sistema UNIX VI vem com ele; O emacs não, você precisará instalar o emacs. Nano, por outro lado, é mais popular; caso isso não responda, significa "nano filename.ext" e nada acontece, você precisará instalá-lo.

depois de emitir o vi filename.txt, você provavelmente criará um novo arquivo. Você deve procurar no vi, emacs ou 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 do emacs de todas as opções, mas você encontrará desenvolvedores que são obcecados ou favorecem o vi e o nano

2
unixmiah