(4 respuestas)
Cerrado hace 3 años.
Estoy tratando de mover un montón de archivos a la vez, un directorio hacia arriba.
Esto es lo que probé, pero no funcionó:
mv ./*/__test__/index.js ./*/data.js
.
├── alpha
│ ├── __test__
│ │ └── index.js
│ ├── index.js
│ └── test.js
└── beta
├── __test__
│ └── index.js
├── index.js
└── test.js
A esto:
.
├── alpha
│ ├── data.js
│ ├── index.js
│ └── test.js
└── beta
├── data.js
├── index.js
└── test.js
¿Cómo puedo hacer esto en Unix?
Respuesta aceptada:
No puede usar comodines en el argumento de destino. Entonces, al menos, se requieren algunas secuencias de comandos:
for d in *; do
if [[ -d "$d" ]]; then
pushd "$d"
mv __test__/index.js ./data.js
popd
fi
done