第一:Vim Editor
Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为Linux
world文本编辑分类的优胜者,Vim稳居第二。但在2000年Vim赢得了Slashdot
Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至第二,不过Vim和Emacs同样都是非常优秀的文本编辑器。
第二:Emacs
Emacs即Editor
MACroS,中文名宏编辑器,是一种文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。Emacs是一种强大的文本编辑器,最初由Richard
Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。
第三:Notepad++
Notepad++是一款非常有特色的编辑器,开源软件,可免费使用。内置支持多达27种语法高亮度显示,还支持自定义语言。
Notepad++是Windows *** 作系统下的一套非常有特色的自由软件的纯文本编辑器,有完整的中文化接口及支持多国语言编写的功能。它的功能比Windows中的Notepad强大,除了可以用来制作一般的纯文字说明文件,也十分适合当作编写电脑程序的编辑器。Notepad++不仅有语法高亮度显示,还有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
第四:PNEdit
PNEdit是一个类似于Vi的功能多样、用户可定制的文本编辑器,在vi的基础上改进和增加了很多特性。图形界面设计简洁方便让编辑窗口设置更加容易,快捷键和命令行 *** 作方式使得文本编辑的速度和效率有所提高,内嵌的多个应用插件扩展了文本编辑功能。
第五:TextMate
TextMate是Mac平台下著名的编辑器,适合程序员使用,与BBedit一起并称苹果机上的emacs和vim,可以定制许多贴心的使用功能。TextMate的Bundles是TextMate的一个亮点,可以有效的提高开发效率。包括DHH在内的Rails核心开发者一直都使用TextMate进行开发,原因就是他们主要都在使用Mac
OS系统,并且TextMate具备出色的界面、强大的宏定义,以及可下载和编辑的宏定义包,这些都帮助开发者将编码的效率提升到最高。
cat命令用于查看纯文本文件(较短的):$ cat [选项] 文件
以下是cat命令常用的3个选项:
(1) $ cat -n 文件
-n 表示显示行号。
(2) $ cat -b 文件
-b 表示显示行号,但是不包括空行。
(3) $ cat -A 文件
-A 表示显示出不可见的符号,如空格、tab键等。
more命令用于查看纯文本文件(较长的):
$ more [选项] 文件
more命令常用的一个参数是"- 数字",表示预先显示的行数,默认是一页:
$ more -10 文件
head命令用于查看纯文本文档的前N行:
$ head [选项] 文件
(1) $ head -n 10 文件
这个命令表示显示文件的前10行。
(2) $ head -n -10 文件
这个命令表示正常输出,但是不显示最后的10行。
tail命令用于查看纯文本文档的后N行:
$ tail [选项] [文件]
例如,显示文件/etc/passwd的后10行:
$ tail -n 10 /etc/passwd
wc命令用于统计指定文本的行数、字数、字节数:
$ wc [参数] 文本
(1) $ wc -l 文本
-l 参数表示只显示行数。
(2) $ wc -w 文本
-w 参数表示只显示单词数。
(3) $ wc -c 文本
-c 参数表示只显示字节数。
awk、grep、sed是linux文本 *** 作的三大利器,grep适合单纯的查找或文本匹配,sed适合编辑匹配到的文本,awk适合格式化文本,对文本进行较复杂格式处理。
命令格式:grep [option] pattern file 用于过滤/搜索的特定字符,可与正则表达式配合,使用上十分灵活。
命令格式:sed [options] '[地址定界] command' file(s) 用于编辑一个或多个文件, 简化对文件的反复 *** 作。
演示实例:
命令格式:awk [options] 'BEGIN{ action… } pattern{ action… } END{ action… }' file ... 用于在linux下对文本和数据进行处理,数据可以来自一个或多个文件,支持用户自定义函数和动态正则表达式等功能。
演示实例:
a.随机取用户
cat file1 | awk '{ print rand(),$1 }' |sort -k1 |awk '{ print $2 }' |head -4000
b.分组求和
awk '{s[$1] += $2}END{ for(i in s){ print i, s[i] } }' file1 >file2
c.求和
cat data|awk '{sum+=$1} END {print "Sum = ", sum}'
d.求平均
cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}'
e.求标准偏差
cat $FILE | awk -v ave=$ave '{sum+=($1-ave)^2}END{print sqrt(sum/(NR-1))}'
f.列换成行,如果第一列相同,将所有的第二列 第三列 都放到一行里面
awk '{qq[$1]=qq[$1](" "$2" "$3)}END{for(i in qq)print i,qq[i]}'
g.合并文件,2个文件,每个2列,将他们按照第一列相同的数,来合并成一个三列的文件,同时,将每个文件中针对第一列对应第二列中没有的数补0
awk 'FNR==NR{a[$1]=$2}FNR<NR{a[$1]?a[$1]=a[$1]" "$2:a[$1]=a[$1]" 0 "$2}END{for(i in a)print i,a[i]}' file1 file2 >file3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)