您的位置:首页 > 运维架构 > Linux

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

2010-09-20 17:58 525 查看
在处理文本方面,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} #从第三个字符开始取两个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: