强大的Linux文本处理-vi awk sed

在处理文本方面,awk和sed简直无以伦比,你可以把一些windows下的文本处理工作放到linux下来处理

下面这条命令把一个文本的前5列打印出来,每一列的记录用分号隔开;最后打印出前12000行。

 

1.处理列 

cat cpuusg |awk '{print $1";" $2";" $3";" $4";" $5}' |sed -n '1,12000p'  >>cpuusg2-1.txt

 

2.文本替换

sed "/outfile =/ s;.*;$rep;" /home/zhxue/qryjason101.pro > zhxue1$fileName;

/***/表示需要替换的内容, s表示替换, .*表示替换该内容所在行的所有东西, ;表示分隔符, $rep表示用这个变量所代表的内容替换文本,.pro文件表示需要查找的文本文件,zhxue$filename表示将替换结果输出到的文件。

 

 3.读取某个文件的某一行或者某几行
查看文件song.txt的第190行到196行,
sed -n '190,196p' song.txt
如果查看某一行用
sed -n '190,1p' song.txt即可
sed -n 'a,bp' song.txt读取自第a行到第b行的数据
if(a > b ) return 第a行

文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/6_system/linux/Linuxjs/20090520/167457.html

 

 

 

3. 关于linux vi命令替换的使用说明

 

http://os.51cto.com/art/200907/140987.htm

 

4.截取字符串

 

http://space.itpub.net/12932950/viewspace-586873

#!/bin/bash

 EXCLAIM=cowabunga
 echo ${EXCLAIM:0:3}
 echo ${EXCLAIM:3:2}  #从第三个字符开始取两个。

 

 

你可能感兴趣的:(强大的Linux文本处理-vi awk sed)