Loops AIX中的“For循环”
肯定有人能指出我做错了什么。。。 无法使其在find命令的所有结果中正确循环。 在AIX中运行这个 基本上,我希望它找到所有的文件1天前,然后猫到一个文件中的所有Loops AIX中的“For循环”,loops,for-loop,find,aix,Loops,For Loop,Find,Aix,肯定有人能指出我做错了什么。。。 无法使其在find命令的所有结果中正确循环。 在AIX中运行这个 基本上,我希望它找到所有的文件1天前,然后猫到一个文件中的所有 #! /bin/sh p1='/MSS-Storage/data/DataExport/runlog' p2='/MSS-Storage/apps/scripts' x=1 find $p1/* -mtime -1 -type f >> $p2/tmp.txt for period in `cat $p2/tmp.t
#! /bin/sh
p1='/MSS-Storage/data/DataExport/runlog'
p2='/MSS-Storage/apps/scripts'
x=1
find $p1/* -mtime -1 -type f >> $p2/tmp.txt
for period in `cat $p2/tmp.txt`
do
echo "************************Export $x*************************/
*************************************************" > $p2/`date +summary.\%Y\%m\%d_\%H\%M.log`
cat $period > $p2/`date +summary.\%Y\%m\%d_\%H\%M.log`
x=$x+1
done
我会使用没有空间的ksh shebang线。 MSS存储是否如开始斜杠所示位于根级别? 如果将查找结果附加到tmp.txt,则该文件每次运行时都会变大。我想你想覆盖这个文件。您可以跳过tmp.txt文件重定向查找结果。 在循环内,您应该使用>>您不想覆盖您的结果,但我将在循环外重定向。 date命令应该在循环之外,只确定一次日期 用x=x+1可以将1添加到x中 这将导致:
#!/bin/ksh
p1='/MSS-Storage/data/DataExport/runlog'
p2='/MSS-Storage/apps/scripts'
x=1
find $p1/* -mtime -1 -type f | while read period; do
echo "************************Export $x*************************/
*************************************************"
cat $period
(( x = x + 1 ))
done > $p2/summary.$(date +'%Y%m%d_%H%M').log