Propriedades do comando cat

0

uma pergunta simples, posso criar um arquivo em um local que eu quero & usando o comando cat & sem usar canos & e a localização é outro lugar que eu onde estou atualmente. (Eu apreciaria uma edição)

    
por Tolga Varol 25.07.2015 / 02:08

1 resposta

6
$ cat > location/i/want/theFileImCreating

cat realmente não cria arquivos. Ele apenas grava em sua saída padrão. No comando acima, é o redirecionamento de saída ( > ) (configurado pelo shell) que cria o arquivo (ou esvazia um já existente).

Por padrão, os redirecionamentos ( > ) atrapalham o destino, se existir. Se você quiser evitar isso, set -o noclobber é seu amigo.

Se você não quiser preencher o arquivo com nada, touch criará um novo arquivo vazio (ou atualizará o registro de data e hora de um já existente).

Se você quiser "criar" estritamente um novo arquivo, incluindo seu caminho, uma função / script do shell auxiliar pode ser útil:

fcreat(){
  while (( "$#" )); do
   [ ! -f "$1" ] && {
      mkdir -p "$(dirname "$1")";
      touch "$1";  
   }; shift
  done
}

Uso:

$ fcreat location1/i/want/file1 location2/i/want/file2
$ tree
$ tree
.
├── location1
│   └── i
│       └── want
│           └── file1
└── location2
    └── i
        └── want
            └── file2

fcreat : Eu não sei se estou me tornando um especialista em Unix ou se estou perdendo minha capacidade de soletrar.

    
por 25.07.2015 / 02:11

Tags