当前位置: 技术问答>linux和unix
200分求条shell
来源: 互联网 发布时间:2015-04-20
本文导语: 从文件FILEA中的第N行开始查找含有ERROR或者WARNING的行,直到文件结束。 返回:一个存放这些含有ERROR(error)或者WARNING(warning)的所有行的文件FIELB; 以及FILEA的总行数。 | awk ' BEGIN { N = 10 ...
从文件FILEA中的第N行开始查找含有ERROR或者WARNING的行,直到文件结束。
返回:一个存放这些含有ERROR(error)或者WARNING(warning)的所有行的文件FIELB;
以及FILEA的总行数。
返回:一个存放这些含有ERROR(error)或者WARNING(warning)的所有行的文件FIELB;
以及FILEA的总行数。
|
awk '
BEGIN { N = 10 }
NR > N {
if (($0 ~ "error") || ($0 ~ "warning"))
print > "FILEB"
}
END { print NR }
' FILEA
BEGIN { N = 10 }
NR > N {
if (($0 ~ "error") || ($0 ~ "warning"))
print > "FILEB"
}
END { print NR }
' FILEA
|
#!/bin/sh
##################################
# Already tested in HP-UX 11.0
##################################
#Line counter
line_num=0
#loop the file A
while read line
do
line_num=`expr ${line_num} + 1`
#less then N lines
if [ ${line_num} -le N ]
then
continue
fi
echo ${line_num}:${line}|grep -i "error" >> FILEB
echo ${line_num}:${line}|grep -i "warning" >> FILEB
done
##################################
# Already tested in HP-UX 11.0
##################################
#Line counter
line_num=0
#loop the file A
while read line
do
line_num=`expr ${line_num} + 1`
#less then N lines
if [ ${line_num} -le N ]
then
continue
fi
echo ${line_num}:${line}|grep -i "error" >> FILEB
echo ${line_num}:${line}|grep -i "warning" >> FILEB
done