head [filename]
head -n 11 [filename] -> First 11 lines
head -c 20 [filename] -> First 20 characters

head默认为显示前10行。

tail [filename]
tail -n 11 [filename] -> Last 11 lines
tail -c 20 [filename] -> Last 20 characters

如果要显示文本的第10-22行可以使用:

 head -n22 | tail -n12                                                                     

tr的用法为:

$ tr [OPTION] SET1 [SET2]

如果SET1 和 SET2都给出,而且OPTION不是-d,那么就是将第一个集合中的元素替换为第二个集合中的元素。

$ tr a-z A-Z
thegeekstuff
THEGEEKSTUFF

如果需要将空格替换为一个tab, 如果存在连续的空格,需要加-s选项,否则默认将每个空格都替换为一个tab:

$ echo "This   is   for testing" | tr -s [:space:] '\t'
This is for testing

如果要删除某个元素,可以使用(如删除所有数字):

$ echo "my username is 432234" | tr -d [:digit:]
my username is

如果需要删除除了数字以外的其他字符,可以使用-c选项:

$ echo "my username is 432234" | tr -cd [:digit:]
432234

如果要将文件的所有行合并为一行,可以使用:

$ tr -s '\n' ' ' < file.txt

sort有几个常用选项:

-n  按数字排序

-r  逆序

-k m,n  按第m-n个field排序

-t  改变文件的分隔符

如要对一个以tab为分隔符的文本按第二个field进行排序,可以使用:

 $ sort -k2,2 -t $'\t' phonebook
Doe, John 555-1234
Fogarty, Suzie 555-2314
Doe, Jane 555-3214
Avery, Cory 555-4132
Smith, Brett 555-4321

这里用$'\t'表示tab

命令uniq的几个常用选项为:

-c 输出每行连续出现的次数

-d 只输出连续出现的行,对于连续出现多次的行只会输出一次

-D  和-d的不同点在于会完整的输出符合条件的行

-u 只输出没有连续出现的行

-i 比较时忽略大小写

-w n 只比较前n个字符

-f n 忽略比较前n个filed

-s n 忽略比较前n个字符

grep常用方法:

如果在一个文件中查找一个字符串,可以用:

grep "literal_string" filename

如果在多个文件中查找指定字符串:

grep "string" FILE_PATTERN

-i选项忽略大小写

在文件中查找多个字符串:

grep "REGEX" filename

-w选项用来只查找指定的WORD,而忽略WORD作为字串的情况

-c 选项用来查看出现次数

-v选项用来输出没有出现指定字符串的行

-e 选项可以用来指定多个字符串:

$ grep -v -e "a" -e "b" -e "c" test-file.txt

-l(小写的L)选项用来输出含有指定字符串的文件名:

$ grep -l this demo_*
demo_file
demo_file1

另外,还有-A,-B,-C等选项。

最新文章

  1. C语言 回文
  2. 2.0 (1)安装MongoDB
  3. 静态代码审查工具FxCop插件开发(c#)
  4. 东大OJ-双塔问题
  5. git 冲突解决
  6. [Xamarin] 關於發出Notification 的大小事 (转帖)
  7. postgresql存储二进制大数据文件
  8. ruby 学习 -- Array --2
  9. 图文讲解:iOS App提交流程
  10. 使用Filter防止浏览器缓存页面或请求结果
  11. 暑假练习赛 007 C - OCR
  12. nexus私服搭建及maven生命周期
  13. Linux部署笔记分享
  14. Android application捕获崩溃异常
  15. 【转】【WPF】WPF中的Button的MouseDown事件不触发问题
  16. 理解Liang-Barsky裁剪算法的算法原理
  17. 解决mysql日志显示时间和“Got an error reading communication packets” 问题
  18. 一次“ora-12170 tns 连接超时”的经历
  19. 很不错的python 机器学习博客
  20. Unable to find manifest signing certificate in the certificate store

热门文章

  1. MAMP mysql无法启动 总结(以后有发现再添加)
  2. openstack各组件介绍
  3. Java性能优化的50个细节,我必须分享给你!
  4. java_Map集合
  5. C++开发系列-内联函数
  6. 2018-8-10-win10-uwp-使用资源在后台创建控件
  7. tensorboard在Mac OS X系统环境下如何启动
  8. Linux时间和时区设定
  9. mysql主从跳过错误
  10. 几何+map套set——cf1163C