Как мне переместить файл в его родительский родительский каталог?

Рассмотрим что-то вроде B / A / C.txt .

Как можно Я перемещаю файл C.txt в его родительский родительский каталог, поэтому результатом будет B / C.txt ?

1
задан 14 November 2020 в 12:02

4 ответа

Вы можете добиться этого, выполнив

mv B / A /C.txt B /

или

mv B / A / C.txt B / C.txt

или

cd B/A/
mv C.txt ..

0
ответ дан 3 January 2021 в 22:49

на терминале Linux mv C. txt ../ .. уловка:

$ mkdir -p /tmp/A/B # create as a temporary dir
$ cd /tmp/A/B       # get into dir
$ pwd               # show were you are
/tmp/A/B
$ echo 'foo' > C.txt # create a file containing text foo
$ mv C.txt ../..     # move file into parent dir of parent dir
$ cd ../../          # get into there
$ pwd                # are we there?
/tmp
$ cat C.txt          # check your file.
foo
1
ответ дан 3 January 2021 в 22:49

Один из способов:

mv B/A/C.txt B/

Или

cd B/A/
mv C.txt ..
7
ответ дан 3 January 2021 в 22:49

В образовательных целях

$ man bash
Введите / и введите ^ + Parameter Expansion , затем нажмите ENTER

Или изучите руководства Bash на www.tldp.org

Пример для изучения:

$ f="B/A/C.txt"
$ mkdir -p "${f%/*}"
$ touch "$f"
$ find "${f%%/*}"
...
$ mv "${f}" "${f%/*}/.."
$ find "${f%%/*}"
B
B/C.txt
B/A

Обратите внимание: это НЕ общий ответ, здесь есть оговорки; но может быть сочтен очень близким к этому.

Еще предстоит изучить, перезапущено с нуля:

$ f="B/A/C.txt"
$ mkdir -p "${f%/*}"
$ touch "$f"
$ ( cd ${f%/*} && mv ${f##*/} .. )
2
ответ дан 3 January 2021 в 22:49

Другие вопросы по тегам:

Похожие вопросы: