文件显示和信息

wc

wc 可以用于统计文件的行数和单词数。

nl

nl 在文件的每行内容前面加上行号。

基于行的操作

grep

grep 用于筛选匹配特定字符的行。

  • grep "Hello" : 只显示含有字符串“Hello"的行
  • grep -v "Hello" : 只显示不含有字符串 "Hello"的行

sort

sort 对文件进行排序。默认是按照字典顺序从小到大

  • sort -n : 按照数值大小,而不是字典顺序,进行排序。
  • sort -u : 去除重复的行。
  • sort -k 3 : 按照每行的第三个字段进行排序。默认的分隔符是空格。

uniq

uniq 用于去除重复的行。

sed

sed 可以看作是一个面向行的编辑器。

awk

awk 也是面向行的,但在操作每一行的时候,每行文字自动被分隔为不同的字段(默认用空格作为分隔符)。

基于列的操作

cut

cut 从文件中截取相应的列。默认的列分隔符是 tab 字符。

  • cut -d "|" -f 3-5 t.txt

join

join 用于合并两个文件。两个文件中具有同样的索引字段的行被组合成一行。join 要求两个文件是根据索引字段排序过的。

  • join -j 1 a.txt b.txt

杂项

大小写转换

echo $VAR_NAME | tr '[:upper:]' '[:lower:]'
echo $VAR_NAME | tr '[A-Z]' '[a-z]'

Shell: 文本文件操作的更多相关文章

  1. bash shell 文本文件操作

    一.打开文本文档,查看文本的内容,我们最直观的方式就是用编辑器,并且可以使用vi内部的查找命令查找[参见Vim文字编辑] vi test.txt#使用vi打开当前目录下的test.txt文本 二.总结 ...

  2. 常看 Shell: 文本文件操作

    文件显示和信息 wc wc 可以用于统计文件的行数和单词数. nl nl 在文件的每行内容前面加上行号. 基于行的操作 grep grep 用于筛选匹配特定字符的行. grep "Hello ...

  3. Java读写文本文件操作

    package com.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; ...

  4. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

  5. linux shell 字符串操作(长度,查找,替换)详解

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  6. shell字符串操作详解

    shell字符串操作详解的相关资料. 1.shell变量声明的判断  表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DE ...

  7. shell脚本操作mysql库

    shell脚本操作mysql数据库-e参数执行各种sql(指定到处编码--default-character-set=utf8 -s,去掉第一行的字段名称信息-N) 2011-05-11 18:18: ...

  8. Mongodb DB shell数据操作

    shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的. Ø 数据库 1.Help查看命令提示 help db.help(); db.yo ...

  9. 第十一章、认识与学习 BASH Bash Shell 的操作环境

    bash中的变量动不动就说环境变量,真是奇怪,bash只是一个c语言编写的程序而已,跟环境变量有什么关系?如果知道dos的历史的话就知道有个时代是只有命令行界面而没有图形用户界面,这只小小的程序就包揽 ...

随机推荐

  1. 【记录】STS设置maven远程仓库,加快下载jar包

    在STS中windows->preferences->maven->user settings 修改user settings里setting.xml配置文件 <?xml ve ...

  2. 团队作业Bata冲刺-第二天

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 这个作业要求在哪里 https://edu.cnblo ...

  3. Oracle varchar2或char类型的byte和char的区别

    那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并 ...

  4. Codeforces 360E 贪心 最短路

    题意及思路:https://blog.csdn.net/huanghongxun/article/details/49846927 在假设所有边都是最大值的情况下,如果第一个人能比第二个人先到,那就缩 ...

  5. Caused by: java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider

    问题现象:今天部署代码的时候发现,在beta环境可以正常部署,但是到了test环境就一直不成功,我以为是环境问题,就重新部署,但是没效,看了看日志发现问题是:Caused by: java.lang. ...

  6. jQuery遍历之同级遍历

    html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...

  7. php导出xls,报错:文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非你相信它的来源,否则不要打开它。

    打开文件报错如下 在文件头加上如下代码 ob_end_clean(); header('Content-Type:application/vnd.ms-excel'); header('Cache-C ...

  8. js动态添加的元素绑定事件

    最近做的项目要实现一个动态添加动态删除的功能,思考了一下,该怎么给动态添加的元素绑定事件.最后觉得有两种方式比较可靠,第一种是在动态添加的html代码里添加oclick事件,然后给传个唯一的参数来判断 ...

  9. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  10. Python每日一题 007

    题目 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. 很难客观的说每篇日记中最重要的词是什么,所以在这里就仅仅是将每篇日记中出 ...