while循环按行读文件的方式总结

分析apache访问日志,把日志每行的访问字节数对应的字段数字相加,计算访问总量。

#!/bin/bash
sum=0
exec < $1

while read line

do
  aa=`echo $line | awk '{print $10}'`
  expr $aa + 10 > /dev/null
  a=$?
  if [ $a -ne 0 ]; then
    continue
  fi
  sum=$(($sum+$aa))
done

echo $sum
~

这个问题主要考察while循环按行读文件的方式。

第一种:采用exec读取文件,然后进入循环处理

exec < $1              #$1表示的是文件名
while   read  line
do
  echo  $line
done

第二种:使用cat读取文件内容,然后通过管道进入while循环处理。

cat  /etc/httpd/logs/access.log | while  read  line
do
  处理命令
done

第三种:

while  read   line
do
  cmd
done<file

原文地址:http://blog.51cto.com/11726212/2070153

时间: 2024-10-08 09:04:54

while循环按行读文件的方式总结的相关文章

程序读文件的方式--按字符、按行、按单词

程序读文件的方式--一个字符一个字符进行读取 #include <iostream> #include <fstream> using namespace std; int main() { char ch; fstream fp("a.txt"); while(!fp.eof()) { if(fp.get(ch)) cout<<ch; } fp.close(); return 0; } 程序读文件的方式--逐行读取 #include <ios

Python按行读文件对比

1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1:     line = file.readline()     if not line:         break     pass # do something 一行一行得从文件读数据,显然比较慢:不过很省内存. 在我的机器上读10M的sample.txt文件,每秒大约读32000行 2. 用fileinput模块 # File

Python之路 day2 按行读文件

1 #1. 最基本的读文件方法: 2 3 # File: readline-example-1.py 4 5 file = open("sample.txt") 6 7 while 1: 8 line = file.readline() 9 if not line: 10 break 11 pass # do something 12 #一行一行得从文件读数据,显然比较慢:不过很省内存. 13 14 #在我的机器上读10M的sample.txt文件,每秒大约读32000行 15 16

Python按行读文件 高级

1. 最基本的读文件方法: file = open("sample.txt") while 1: line = file.readline() if not line: break pass # do something 一行一行得从文件读数据,显然比较慢:不过很省内存. 在我的机器上读10M的sample.txt文件,每秒大约读32000行 2. 用fileinput模块 import fileinput for line in fileinput.input("sampl

C语言按行读文件及字符串分割

#include<stdio.h> #include<iostream> using namespace std; int main() { char s[50]; char delims[] = " "; FILE *fs; fopen_s(&fs, "check-in.txt", "rt"); if (fs == NULL) { printf("file open error\n"); re

GoLang几种读文件方式的比较

GoLang提供了很多读文件的方式,一般来说常用的有三种.使用Read加上buffer,使用bufio库和ioutil 库. 那他们的效率如何呢?用一个简单的程序来评测一下: package main import(    "fmt"     "os"     "flag"     "io"     "io/ioutil"     "bufio"     "time"

第八天 文件的读,写,追加,读写,写读,seek()光标的移动,修改文件以及另一种打开文件的方式

主要内容:    1.初始文件操作 2.只读( r,rb ) 3.只写( w,wb ) 4.追加( a ,ab) 5.读写( r+ ) 6.写读( w+ ) 7.追加写读 ( a+ ) 8.其他操作方法 9.文件的修改以及另一种打开文件句柄的方式 一.初始文件的操作    使用python来读写文件是非常简单的操作. 我们使用open()函数来打开?个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异. 打开文件的方式: r,

(IO流)java中多种方式读文件,追加文件内容,对文件的各种操作

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.R

python 从第二行开始读文件

python 从第二行开始读文件 filename = info.txtf = open('info.txt') next(f) for line in f: print(line) next()函数获取了第一行的数据,但没有做任何动作.这样其后的FOR循环就直接从第二行开始读取执行. 原文地址:https://www.cnblogs.com/ChenYi0919/p/8856553.html