Crie e abra o arquivo com um comando?

4

Eu quero criar um arquivo de texto e abri-lo em um editor de texto com um único comando.

Eu sei que touch file.txt cria um arquivo e open file.txt abre o arquivo, mas existe uma maneira de fazer isso com um único comando?

    
por Marcus McLean 03.04.2013 / 06:05

5 respostas

2

Você pode usar touch myfile.txt; open myfile.txt . Se isso é algo que você fará com frequência, crie um alias para ele.

    
por 03.04.2013 / 19:34
4

Se você está procurando alguma lógica para isto, ie. crie um arquivo e abra se possível você poderia usar algo assim:

touch testFile && vi testFile

Aqui o testFile é criado com o toque. A parte && diz que, se a criação foi bem sucedida, abra-a com o vi.

Além disso, você pode simplesmente criar um novo arquivo com algo como o vi, abrindo-o ao mesmo tempo (isso pressupõe que você salve o arquivo após editá-lo).

vi testFile
    
por 03.04.2013 / 06:44
3

Use o vim. Apenas digite

vim newfile.txt

Para o vim, você precisa conhecer os atalhos .

i   - Insert text in the file
esc - return to the command-input-mode
:w  - Write (save)
:q  - Quit (exit)

ou (mais fácil de usar Nano ):

nano newfile.txt

Se você quiser um tipo de GUI: (funciona para o Ubuntu e outras distros)

gedit newfile.txt
    
por 03.04.2013 / 06:51
2

Isso depende inteiramente do seu editor de texto. A maioria permitirá que você simplesmente abra um arquivo inexistente, e suponha que você o tenha criado ao salvar.

Você também pode usar uma função se isso não for possível para você:

cropen() {
    if ! [ "$1" ]; then
        echo "need a file!" >&2
        return 1
    fi
    : > "$1" && open "$1"
}

Você pode chamá-lo como cropen file .

    
por 03.04.2013 / 06:12
1

Como todo mundo está dizendo, isso depende do seu editor. E se você não gosta da maneira como seu editor lida com isso, isso provavelmente também pode ser configurado.

Com o Emacs, emacs new_file.txt (para um new_file.txt inexistente no diretório atual) exibirá o Emacs e exibirá um buffer que se refere a new_file.txt . No entanto, até que você salve , não haverá tal arquivo. Se você não fizer nada e sair, nenhum arquivo será criado.

Embora isso seja certamente uma maneira, acho que uma maneira ainda melhor é sempre ter uma instância do Emacs em execução. Então, sempre que você sentir necessidade de um novo arquivo, vá para o Emacs, pressione C-x C-f (ou M-x find-file RET ), então escreva o caminho para o arquivo inexistente, e você estará no mesmo ponto após o comando CLI ( acima, no segundo parágrafo).

    
por 03.04.2013 / 18:33