linux 小技巧总结

时间:2014-05-10 01:43:38   收藏:0   阅读:355

(1)linux判断文件是否存在

if [ -f filename]; then
      。。。。。。#要执行的语句
 fi

具体例子:

file=/usr/local/oracle/oradata/archived_log/file.txt

 if [ -f $file ];then             #判断文件是否存在,存在就追加
   echo $file_i >> $file
   else                               #否则复写
   echo $file_i > $file
   fi
   fi

(2)按行读取文件

record=/usr/local/oracle/oradata/archived_log/recordarch
file=/usr/local/oracle/oradata/archived_log/file.txt

for file_i in `cat $record`;
do
   echo $file_i
   scp -C  $file_i aaa@192.168.1.106:/d:/redo
   flag=$(echo $?)                         #判断SCP是否发送成功,成功返回0
   if [ $flag -eq 0 ];then
   #rm $file_i
   sed -i ‘/‘‘‘$file_i‘‘‘/d‘ $record
   echo "success delete $file_i"
   if [ -f $file ];then             #判断文件是否存在,存在就追加
   echo $file_i >> $file
   else                               #否则复写
   echo $file_i > $file
   fi
   fi
done

(3)从一个文件夹读取文件

#!/bin/bash
#coding=utf8
record=/usr/local/oracle/oradata/archived_log/recordarch
cd /usr/local/oracle/archive/
for file_i in  `find ./ -mmin -1|grep ‘dbf‘`;                           #在当前目录下查找包含dbf的在一分钟内生成的文件
do
   #cp $file_i /usr/local/oracle/oradata/archived_log
   file_changed=$(echo $file_i |awk -F ‘/‘ ‘{print $2}‘)         #去掉./                   awk用法
   echo $file_changed
   echo $file_changed >> $record
done

(4)cut和awk用法

start_s=$(echo $start | cut -d ‘.‘ -f 1)

time2=$(echo "$time" | awk ‘{print $1/1000.0}‘)

linux 小技巧总结,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!