用脚本实现移动某目录下文件名符合指定规则的文件到另一个目录的功能

[root@ ]# cat mv.sh
#!/bin/bash
FILE=""
for i in `ls -l |awk 'NR>1 {print $NF}' `
do
  for FILE in `echo $i | awk  '/[0-9]$|sh$/{print $i}'`
    do
       mv $i  /Scripts
    done
done


可以实现将当前目录下的所有以数字或者是sh结尾的文件批量移动到/Scprits目录的功能。


脚本简介:


首先,打印当前目录下的所有文件的文件名:awk'NR>1 {print $NF}' 功能就是从ls -l的第二行开始打印(ls  -l的第一行是显示当前目录下所有文件的总和数,就是显示当前目录下一共有多少个文件,所以这行要去掉)。


然后,对于符合以数字或者是sh结尾的文件,把它移动到/Scripts目录。用了正则表达式/[0-9]$|sh$表示以数字或者是以sh结尾的文件。

该脚本主要用到awk和正则表达式来寻找并显示符合指定名称规则的文件的文件名

你可能感兴趣的:(正则表达式,shell,awk,shell脚本批量移动文件)