Unix根据文件名创建目录并将文件移动到目录

时间:2016-05-03 09:26:20

标签: unix

我正在尝试编写一个Unix脚本来根据文件名创建目录,并将这些文件移动到指定的目录。

文件模式: * PLAIN * nn .pdf(例如4520009455604706_PLAIN_12 21 .pdf)

要创建的目录:Cy nn (例如Cy 21 ) [注意:需要一步检查目录是否存在,如果不存在,则创建新目录]

创建上述目录后,我需要将所有匹配* PLAIN * 21 .pdf的文件移动到目录/ Cy21。

[EDITED]解决方案在下面添加。

1 个答案:

答案 0 :(得分:0)

我的解决方案是这样的:

#!/bin/sh
for file in *.pdf
do
  if test -s $file
  then
    cycle=`echo $file | awk -F'.' '{print $1}' | awk '{print substr($0,(length($0)-1))}'`
dir="./Cy"$cycle
if [ -d $dir ]
then
    mv $file ./Cy$cycle
else
    mkdir $dir
    mv $file $dir
fi
  else
        echo "File error"
        echo $file
  fi
done