Перемещение файла на основе расширения от старого в новую папку, а затем добавление префикса в файл в новой папке на основе предыдущего имени папки [Закрыто]

У меня есть два файла в папке A и хотели бы переместить один из файлов, если он является текстовым файлом, к новой папке. Структура и содержание папки такова, что папка

имеет два файла, то есть Book.txt и book.csv, внутри него.

Я хочу переместить только файл TXT в новую папку, называемую папку B. В конце концов, я надеюсь увидеть следующие структуры и содержимое папок.

Папка A
|
| ___ book.csv

Папка B
|
| ___ папка a_book.txt

Код, который я способный использовать, является следующим, но он не работал.

for file in *; find . -name '*.txt'; -exec mv '$file'.{} ./Folder\ B;

Пожалуйста, посоветуйте мне.

1
задан 28 February 2021 в 14:02

1 ответ

Я вроде согласен, добавив / usr / lib к вашему пути вроде странно, но правильный способ сделать это было бы из терминала Run Export Path = / usr / lib /: $ PATHING Однако, которые будут хорошими до тех пор, пока вы не выходите на выйти из системы, чтобы устоять, добавьте такую ​​же строку в ваш .bashrc файл. Первый раз, когда вы добавляете его в свой .Bashrc .Bashrc , вам придется выйти и вернуться, чтобы заставить его вступить в силу или исходный файл со следующей командой Источник .bashrc

-121----909216-

Это будет один вкладыш:

for f in *.txt; do mv "$f" ../Folder\ B/"${PWD##*/}"_"$f"; done

или многопроизводительный эквивалент:

for f in *.txt
    do 
    mv "$f" ../Folder\ B/"${PWD##*/}"_"$f"
    done

папка ASUMING A и и находятся на одном уровне, запускаются Приведенный выше код ( либо один ) из внутри папок .

0
ответ дан 18 March 2021 в 23:30

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

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