当前位置: 技术问答>linux和unix
shell脚本问题,求一类带序号的文件中的最大序号和最小序号
来源: 互联网 发布时间:2016-06-04
本文导语: 又一个目录,下面有一堆带序号的文件,比如类似a_11,a_12,a_13。 现在需要在脚本中获取最小序号、最大序号,另外不存在这样的文件也要能知道。 shell盲,求教了! | 我也在学习脚本,下...
又一个目录,下面有一堆带序号的文件,比如类似a_11,a_12,a_13。
现在需要在脚本中获取最小序号、最大序号,另外不存在这样的文件也要能知道。
shell盲,求教了!
现在需要在脚本中获取最小序号、最大序号,另外不存在这样的文件也要能知道。
shell盲,求教了!
|
我也在学习脚本,下面这个你试试,也请各位高手指点
#!/bin/bash
#检测目录中是否存在a_*.tar.gz的文件
tmp=`ls a_*.tar.gz | grep "tar.gz"` | wc -l
if [ $tmp -eq 0 ]
then
echo "Have no match file!" >> ./log.txt
fi
#判断文件,截取文件命中数字的部分
for name inf `ls a_*.tar.gz | sort -rg`
do
num=`ls $name | awk -F "." '{ print $1 }' | awk -F "_" '{ print $2 }'`
echo $name >> ./num.txt
done
#!/bin/bash
#检测目录中是否存在a_*.tar.gz的文件
tmp=`ls a_*.tar.gz | grep "tar.gz"` | wc -l
if [ $tmp -eq 0 ]
then
echo "Have no match file!" >> ./log.txt
fi
#判断文件,截取文件命中数字的部分
for name inf `ls a_*.tar.gz | sort -rg`
do
num=`ls $name | awk -F "." '{ print $1 }' | awk -F "_" '{ print $2 }'`
echo $name >> ./num.txt
done
|
以a_xxx为例。
存在匹配文件时输出:
MIN : a_1
MAX : a_20
不存在匹配文件时输出:
NO SUCH FILE
files=$(ls | grep -Eo "^a_[0-9]+$"); [[ $? ]] && echo "MIN : "$(tr ' ' 'n'
存在匹配文件时输出:
MIN : a_1
MAX : a_20
不存在匹配文件时输出:
NO SUCH FILE
files=$(ls | grep -Eo "^a_[0-9]+$"); [[ $? ]] && echo "MIN : "$(tr ' ' 'n'