首页 > 代码库 > linux 小技巧总结
linux 小技巧总结
(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}‘)