(一)利用awk提取某些列
处理如下的数据
INFO 2014-09-15 01:00:42 0.0.0.0 <FAILED> [a: 81, b: 55] {[CLI]}
awk -F ' |<|>|,|]' '{print $6 , $9, $12}' raw_data > value_data
(二)利用awk统计某些字串出现的次数
可以直接用awk命令行
awk 'BEGIN {num = 0} {i = 1;while(i <= NF) {if($i == "FAILED") num++;i++}} END{print "num = "num}' file
如果要同时统计多个字串出现的次数,使用awk脚本更方便
#!/bin/awk
BEGIN {
num1 = 0;
num2 = 0;
num3 = 0;
num4 = 0;
}
{
i=1;
while(i<=NF) {
if($i=="str1")
num1++;
if($i=="str2")
num2++;
if($i=="str3")
num3++;
if($i=="str4")
num4++;
i++;
}
}
END {
print "str1 = "num1;
print "str2 = "num2;
print "str3 = "num3;
print "str4 = "num4;
}
(三)进行文件的排序
sort raw_file > sorted_file
(四)导出sql执行结果到文件
mysql -uroot -psa -h127.0.0.1 -P3306 -e "select name from student" school > data.txt
mysqldump -t -uroot -psa -h127.0.0.1 -P 3306 school student —where='id in (2,3,4)’ > student.sql </span>
--where子句中可以嵌套select循环,更改内容参考 mysqldump 的各个选项
(五)将文件中数据导入到数组
文件格式如:
str1
str2
str3
导成 $arr = array('str1','str2','str3')
$str = file_get_contents('data.txt');
$dealids = explode("\n", $str);
(六)将结果导入到文件
$content = "";
$filename = 'data.txt';
$fp = fopen($filename, 'w');
foreach ($rows as $r) {
foreach($r as $item) {
$content = $content.$item."\t";
}
$content = $content ."\n";
}
fwrite($fp,$content);
fclose($fp);
data = array(1,2,3,4);
$fp = fopen('data.csv', 'w');
foreach ($rows as $r) {
fputcsv($fp, $r);
}
fclose($fp);</span>
(七)启动Python自带的服务器
python -m SimpleHTTPServer 9000