Tar una list de files que no todos existen

Estoy ejecutando un command de un script como

tar -c -f ar.tar abcd 

donde b, c y d pueden no existir, y pueden ser directorys. Las soluciones que he propuesto son conectar la salida de ls -d a grep , luego empalmarla en el command tar , o activar globs extendidos para @(a|b|c|d) .

¿Hay una manera más clara de hacer esto? Estoy en Debian Wheezy, que no parece tener un parámetro --include .

puedes probar

  tar cf ar.tar $(ls abcd ) 

dónde

  • c para crear
  • f ar.tar especifica el file tar

  • $(ls abcd) stdin qué file está realmente presente (y dará error para el otro)

Si está bien tener la ruta completa de los files en el file tar, puede hacerlo:

 tar -c -f ar.tar $(readlink -eabcd) 

La opción -e de readlink canonicalizará los nombres de file existentes e ignorará silenciosamente los demás.