[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和正则表达式来寻找并显示符合指定名称规则的文件的文件名