Em termos de ferramentas usadas: não. touch
falhará (corretamente) se você estiver tentando operar em um diretório que não existe, e mkdir
faz exatamente uma coisa: criar diretórios , não arquivos normais . Dois trabalhos diferentes exigem duas ferramentas diferentes.
Dito isto, se você está falando de eficiência em termos do número de linhas em um script ou da legibilidade de um, você pode colocá-lo em uma função:
seedfile() {
mkdir -p "$(dirname "$1")"
touch "$1"
}
seedfile /path/to/location/one/file.txt
seedfile /path/to/somewhere/else/file.txt
seedfile local/paths/work/too/file.txt