按名称排序和移动文件(ksh)

时间:2018-06-03 19:02:11

标签: bash unix ksh

这是现在的命令

#/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 :(得分:-1)

尝试以下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. 此脚本将读取当前目录中的所有.txt文件
  2. 然后用'_'字符
  3. 拆分文件名
  4. 之后,如果dir不存在,它会创建一个带名字第一部分的目录。
  5. 然后它会根据文件名的第一部分将文件复制到目录。