Como inserir texto em um novo arquivo de texto usando o nano na linha de comando?

0

Como inserir texto em um novo arquivo de texto usando o nano na linha de comando?

Eu gostaria do mesmo que com o seguinte, mas usando nano:

echo 'Hello, world.' >foo.txt

Resultado:

  1. O nano não é capaz de lidar com entradas de texto não interativas.
  2. O
  3. echo está disponível em todos os sistemas Linux / Unix, enquanto o nano não é instalado por padrão em todos os sistemas Linux / Unix. O eco também pode ser usado em scripts de shell.

Conclusão: A solução mais compatível é usar

echo 'Hello, world.' >foo.txt

como solução para criar um arquivo e preencher com texto de entrada não interativamente.

    
por klor 12.01.2017 / 10:29

3 respostas

0

Você pode usar um here document , mas dessa forma não é possível fornecer um documento de saída especial.

$ cat | nano <<-EOF
one
two
three

EOF

Received SIGHUP or SIGTERM

Buffer written to nano.save

Esse comportamento é mencionado na página do manual em notas

In some cases nano will try to dump the buffer into an emergency file. This will happen mainly if nano receives a SIGHUP or SIGTERM or runs out of memory. It will write the buffer into a file named nano.save if the buffer didn't have a name already, or will add a ".save" suffix to the current filename. If an emergency file with that name already exists in the current directory, it will add ".save" plus a number (e.g. ".save.1") to the current filename in order to make it unique. In multibuffer mode, nano will write all the open buffers to their respective emergency files.

Então eu acho que o nano não é a melhor escolha para mensagens de texto não interativas. Se você quiser apenas inserir texto de múltiplas linhas em um arquivo, você também pode usar um here document sem nano.

cat > foo.txt <<-EOF
> one
> two
> three
> 
> EOF
cme@itp-nb-1-prod-01 ~ $ cat foo.txt 
one
two
three

Talvez seja isso que você precisa.

    
por 12.01.2017 / 10:58
0
  1. Abra o nano:

nano

  1. Escreva seu texto: "Olá, mundo"

  2. Pressione Ctrl+O (Salvar arquivo)

  3. Ele pedirá o nome do arquivo para gravar, apresentá-lo.

  4. Saia com Ctrl+X

por 12.01.2017 / 10:31
0
nano foo.txt

Pressione Hello, world.^O^X , onde ^ é ctrl . ^O é Write , ^X é Exit .

    
por 12.01.2017 / 10:32