首页 > 解决方案 > 按名称排序和移动文件 (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,依此类推。

标签: bashunixksh

解决方案


尝试以下 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. 之后,如果 dir 不存在,它会使用名称的第一部分创建一个 dir。
  4. 然后它将根据文件名的第一部分将文件复制到目录。

推荐阅读