GNU/Linux >> Znalost Linux >  >> Linux

Přesunout strukturu složek přes více adresářů?

Tato otázka zde již obsahuje odpovědi :kopírování a přejmenování souborů 2 adresář nahoru

(4 odpovědi)
Uzavřeno před 3 lety.

Snažím se přesunout jeden hromadu souborů najednou, o jeden adresář nahoru.

Zkoušel jsem to, ale nefungovalo to:

mv ./*/__test__/index.js ./*/data.js

.
├── alpha
│   ├── __test__
│   │   └── index.js
│   ├── index.js
│   └── test.js
└── beta
    ├── __test__
    │   └── index.js
    ├── index.js
    └── test.js

K tomu:

.
├── alpha
│   ├── data.js
│   ├── index.js
│   └── test.js
└── beta
    ├── data.js
    ├── index.js
    └── test.js

Jak to mohu udělat v unixu?

Přijatá odpověď:

V cílovém argumentu nemůžete použít zástupné znaky. Je tedy vyžadováno alespoň nějaké skriptování:

for d in *; do
    if [[ -d "$d" ]]; then
        pushd "$d"
        mv __test__/index.js ./data.js
        popd
    fi
done

Linux
  1. 5 příkladů pro vytvoření více adresářů v Linuxu

  2. Jak přesunout obsah složky do aktuální složky?

  3. Sdílení proměnných ve více skriptech Shell?

  1. Udělte oprávnění k zápisu více uživatelům do složky v Ubuntu

  2. Jak mohu vytvořit více adresářů najednou v adresáři?

  3. SED nahradit na více řádcích

  1. Příkaz pro komprimaci více adresářů do jednotlivých souborů ZIP?

  2. Přesouvat soubory čtením jejich názvů souborů do různých adresářů?

  3. Jak vytvořit adresáře pouze pro výstup stromu?