Flat_File=$1
grep -n "<${Flat_File}>" ../env/ifs_sids.cfg | cut -d: -f1 | read lz_begin
grep -n "</${Flat_File}>" ../env/ifs_sids.cfg | cut -d: -f1 | read lz_end
for line in `sed -n "${lz_begin},${lz_end}p" ../env/ifs_sids.cfg |grep "DF:" |cut -d: -f2`
do
mv ${INFA_SHARE}/${line}_HPI.out ${INFA_SHARE}/{$line}.out
done
上述命令的解释:
1)read命令讲解:
read [-pt] variable
read后面如果不接任何参数直接接变量名下面就会主动出现一个空白行等待你的输入。
参数:-p 后面可以直接接提示符 -t:后面可以跟等待的秒数
demo: read test——》此时光标会等待你的输入
输入变量后 echo $test
read -p "please input your name:" -t 30 named:提示用户30s内输入自己的名字,将输入字符串作为named的变量内容
2)cut
cut处理的信息是以行为单位的。
cut -d'分隔符' -f fields ===>用于分隔字符
cut -c 字符范围
参数: -d:分隔符,与-f一起使用
-f:依据-d的分隔字符将一段信息切割称为数段,用-f取出第几段的意思
-c:以字符的单位取出固定字符区间
3)grep命令
cut是在一行信息中取出某部分我们想要的,而grep是分析一行信息,若当中有我们所需要的信息,就将该行拿出来。
语法:grep [-acinv] [--color=auto] '查找字符串' filename
参数: -a 将binary文件以text文件的方式查找数据
-c 计算找到‘查找字符串’的次数
-i 忽略大小写的不同, -n:输出行号 -v:反向选择,即是显示出没有'查找字符串'内容的那一行