shell时间循环
#!/bin/sh
if [ $
datebeg=$1
dateend=$2
else
echo "请输入开始时间和结束日期,格式为2017-04-04"
exit 1
fi
beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`
echo "处理时间范围:$beg_s 至 $end_s"
while [ "$beg_s" -le "$end_s" ];do
day=`date -d @$beg_s +"%Y-%m-%d"`;
echo "当前日期:$day"
beg_s=$((beg_s+86400));
done
echo "日期全部处理完成"
statime=$(date -d"2018-05-01" +"%s")
endtime=$(date -d"2018-06-01" +"%s")
for i in $(seq $statime 86400 $endtime);do
date -d@$i +"%Y-%m-%d"
done
shell目录循环
function dir_do () {
cd $1
du -s * | sort -nr | head -1 | awk -F'.' '{print $NF}'
}
function scan_and_do() {
for one in $(find $1 -maxdepth 1 -type d);do
(dir_do $one)
done
}
scan_and_do ./videos
export -f dir_do
find ./videos -maxdepth 1 -type d | parallel dir_do {}
awk
cat * | grep -oE "[0-9]+" | awk '{sum += $1} END{print sum}'
cat * | awk '{a[$filednum]++}END{for(i in a){print i, a[i]}}' | sort
删除匹配行的上一行
sed -i -e :a -e '$!N;s/.*\n\(.*翻译人员\)/\1/;ta' -e 'P;D' sedfile