У меня есть два файла в папке A, и я хотел бы переместить один из файлов, если это текстовый файл, в новую папку. Структура и содержимое папки таковы, что
Папка A содержит два файла: book.txt и book.csv.
Я хочу переместить только текстовый файл в новую папку с именем Папка B. В конце я надеюсь увидеть следующие структуры и содержимое папок.
Папка A
|
| ___ book.csv
Папка B
|
| ___ Папка A_book.txt
Код, который я могу использовать, следующий, но он не сработал.
for file in *; find . -name '*.txt'; -exec mv '$file'.{} ./Folder\ B;
Пожалуйста, посоветуйте мне.
Это будет однострочный:
for f in *.txt; do mv "$f" ../Folder\ B/"${PWD##*/}"_"$f"; done
или многострочный эквивалент:
for f in *.txt
do
mv "$f" ../Folder\ B/"${PWD##*/}"_"$f"
done
Предполагая, что Папка A
и Папка B
находятся на одном уровне, запустите приведенный выше код ( либо один ) из папки A .