Сортировка и перемещение файлов по имени (ksh) - PullRequest
0 голосов
/ 03 июня 2018

Пока это команда

#/root/scripts/<script_name>.sh $c $targetdir_dir/$i

Мне нужно, чтобы файлы были перемещены не только в targetdir, но и в определенную subfolder этой директории.

Пример:

emea_targetdir
usa_targetdir

Если имя файла region1_filename_extension, сценарий переместит его в targetdir_region1, а если имя файла region2_filename_extension, то чтобы переместить его в targetdir_region2,и т. д.

1 Ответ

0 голосов
/ 03 июня 2018

Попробуйте следующий скрипт ksh: -

#!/bin/ksh

files=`ls  *.txt`
for filename in $files
do
    dir_name=`echo $filename | cut -d'_' -f1`
    mkdir -p $dir_name
    mv $filename $dir_name/$xx
done

Шаги: -

  1. Этот скрипт будет читать все текстовые файлы из текущего каталога
  2. Затемразделить имя файла с символом '_'
  3. После этого он создает каталог с первой частью имени, если каталог не существует.
  4. Затем он скопирует файл в каталог согласно первой части имени файла.
...