Скопируйте и переименуйте файлы, добавив динамический префикс/суффикс

Я использую cp -vfa, но rsync -vaH(, упомянутый @Kusalananda в комментарии ), также будет работать. В последнем случае не забывайте, что все каталоги должны заканчиваться на/(т.е. /home/gradientбудет не нормально, /home/gradient/да ).

Один раз в жизни нам всем действительно следует прочитать ls, cp, rm, bashи rsyncстраницы руководств, они действительно могут многое .


Если целевой каталог находится в том же разделе, простой mv -vfтакже подойдет.

Не забудьте обновить запись домашнего каталога, принадлежащую пользователю в /etc/passwd.

0
22.11.2019, 10:50
1 ответ

Дано

$ tree folder*
folder1
├── name1.csv
├── name2.csv
└── name3.csv
folder2
├── name1.csv
├── name2.csv
└── name3.csv
folder3
├── name1.csv
├── name2.csv
└── name3.csv

0 directories, 9 files

затем с помощью цикла оболочки с расширением параметров для нарезки и нарезки имен

$ for f in folder*/name*.csv; do 
    b="${f##*/}"; 
    echo cp "$f" new_dir/"${b%.csv}${f%/*}.csv"
  done
cp folder1/name1.csv new_dir/name1folder1.csv
cp folder1/name2.csv new_dir/name2folder1.csv
cp folder1/name3.csv new_dir/name3folder1.csv
cp folder2/name1.csv new_dir/name1folder2.csv
cp folder2/name2.csv new_dir/name2folder2.csv
cp folder2/name3.csv new_dir/name3folder2.csv
cp folder3/name1.csv new_dir/name1folder3.csv
cp folder3/name2.csv new_dir/name2folder3.csv
cp folder3/name3.csv new_dir/name3folder3.csv
0
28.01.2020, 03:05

Теги

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