Linux查看文件内容与处理文件

查看文件内容

1、查看文件类型

file命令: 能够探测文件的内部,并决定文件是什么类型的。

用法:file [path]my_file

my_file如果是目录,file命令会显示 "my_file : directory"。如果是文本文件,会显示"my_file: 文件的字符编码 text"。如果是符号链接的文件,会告诉你它链接到哪个文件上。如果是二进制可执行程序,file命令能够确定该程序编译时所面向的平台以及需要何种类型的库。

2、查看整个文件

⑴ cat 命令

用法:cat [文件列表]

参数:-n 或 --number:由 1 开始对所有输出的行数编号

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

⑵ more 命令

用法:more [+数字] [-数字] file

以全屏幕的方式按页显示文本文件的内容,如果带上了参数 '+数字' 表示从该行开始显示,参数 '-数字'指定每屏显示的行数。Enter向下滚动一行,空格或f 向下滚动一屏,b向上滚动一屏,q退出。

⑶ less 命令

less指令是基于more指令和vi指令实现的,更可以使用"前后左右"来查看文件内容,用PageUp键向上翻页,用PageDown键向下翻页,=输出文件名和当前行的行号等信息。

在使用less指令查看文件内容时,如果希望不退出less指令就能够执行shell中的其他指令,可以使用 "!command"的方式,直接执行指令,执行结束后自动返回less指令。

指令运行过程中,按"h"键显示less的快捷键帮助。

可以在":"提示符下输入查找的关键字(先输入/,后输入关键字,最后回车),以实现快速定位。

3、查看部分文件

⑴ tail 命令

用于输出文件中的尾部内容。

⑵ head 命令

用法:head [选项] [文件列表]

用于显示文件的开头部分的内容。

参数-n<行数>指定显示头部内容的行数,默认10行;-c<字符数>指定显示头部内容的字符数。

处理文件

1、创建空文件

touch命令:touch new_file

2、过滤文件内容

⑴ grep 命令

用法:grep [选项] [匹配模式] file

按照某种匹配规则搜索指定的文件,并将符合匹配条件的行输出。

选项:-v搜索不含指定字符串的行,-x整行匹配,-c 统计符合匹配模式的行数,-E 用来扩展选项为正则表达式。

⑵ cut 命令

用法:cut [选项] [文件]

指令显示行中指定部分,删除文件中的指定字段。

选项: [-d “分隔符”]指定字段的分隔符,默认的字段分隔符为"TAB"。

[-f 起始字段位置-结束字段位置]显示指定的字段内容,第一个字段就是1。只显示一个字段时,直接写相应的位置即可。

3、统计文件内容

wc命令:wc [选项] [文件列表]

统计文件的行数、单词数和字符数。

选项:-l 打印总行数。

注意:在windows下,文件的最后一行不会自动添加换行符。用wc统计的时候,会发现比实际少了一行。使用换行符‘\n’作为行结束标志,实际是统计换行符个数。

4、对文件内容进行排序

sort命令:sort [选项] [文件列表]

-c检查文件是否已经按照顺序排序;

-n按照数值的大小排序;

-o<输出文件>:将排序后的结果存入指定的文件;

-t<分隔字符>:指定排序时所用的栏位(列)分隔字符(如果分隔字符是制表符,放在字符串中时,正常写即可,否则,在前面加上$);

-r是以相反顺序;

-u在输出行中去除重复行(只考虑用来排序的行);

-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较;

-k<start,end>:指定需要排序的列,start和end都是数字,start又分为3个部分(选项[bdfinr]、排序列、开始的位置),end默认到本域结束。-k可以出现多次,代表多列排序(第一个是主排序)。数字列如1.2表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序;1.2,1.2表示只按第一个域的第二个字符进行排序;

sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

————————————————

本文为CSDN博主「鹏鹏俊玲」的原创文章

原文链接:https://blog.csdn.net/qq_29837161/article/details/85473423

Linux查看文件内容与处理文件的更多相关文章

  1. linux中合并多个文件内容到一个文件的例子

    尊敬的用户您好,从即日起 导入 及 导出 功能已经下线,请到阿里云官方数据库管理平台 iDB Cloud 使用该功能! 继续在 iDB Cloud 中发现导出的数据库文件是按照每个表生成的SQL文件, ...

  2. 用C#Winform写个简单的批量清空文件内容和删除文件的小工具

    用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013 ...

  3. 怎么编辑PDF文件内容,PDF文件编辑方法

    怎样编辑PDF文件内容?这是一个常常困扰我们的问题,工作当中我们经常会收到PDF格式的文件,但有时的文件内容不是我们想要的或者是觉得不合理的需要改掉.但是每次有这样的问题时都没有什么好的解决方法,每次 ...

  4. Linux查看文件内容和压缩文件命令

    查看文件内容 一些重要的目录: /usr/share/    帮助文档.说明文档/var/log/       日志/var/run/       运行中程序/var/tmp       临时文件 根 ...

  5. linux查看文件内容跳到文件底部和回到文件顶部的快捷键

    有时候需要查看一些日志文件,然后要从底部开始查看的话 可以按 shift+g  即可跳到文件底部 要返回文件顶部的时候 按 gg即可

  6. 【HDFS API编程】查看HDFS文件内容、创建文件并写入内容、更改文件名

    首先,重点重复重复再重复: /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 ...

  7. Linux批量清理多个文件内容而不删除文件

    清理单个文件,可以这样:echo > myLog.log 但是,如果我要清理一堆文件,比如在/logs目录下面的所有以.log结尾的文件的内容,而不删除文件,该如何操作呢? 我一开始的语句是这样 ...

  8. 【python小练】0017-将xls文件内容写入xml文件中

    第 0017 题: 将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如 下所示: <?xml version="1.0" ...

  9. JAVA 创建TXT文件,写入文件内容,读取文件内容

    [java]  view plain copy   package com.abin.facade.ws.mail.function; import java.io.BufferedReader; i ...

  10. java文件相关(文件追加内容、文件内容清空、文件内容读取)

    https://blog.csdn.net/xnz0616/article/details/39137177 1.文件内容追加 // 在已有的文件后面追加信息 public static void a ...

随机推荐

  1. Terraform 的开源替代:OpenTofu 宣布 GA!

    OpenTofu 社区于1月10日宣布 OpenTofu 项目 GA,这是 OpenTofu 的首个稳定版本(https://github.com/opentofu/opentofu/releases ...

  2. Java异常中处理return

    Java中的return语句 在Java中,return语句用于从一个方法中返回结果,并终止当前方法的执行.在方法中使用return语句后,后续的语句将不会执行. public int add(int ...

  3. VSCode C++开发环境配置: LLVM clang clangd

    工欲善其事,必先利其器 llvm/clang 比 VSCode 自带的代码提示功能速度更快,功能更强(支持 clang-tidy). 安装 llvm.clang sudo apt install ll ...

  4. curl使用小记(四)——在多线程中使用的问题总结

    目录 1. 概述 2. 详论 2.1. 崩溃 2.2. 初始化 2.3. 性能 3. 参考 1. 概述 很显然,通过URL传输数据是一个耗费性能的行为.所以,一个非常有必要的策略是通过多线程来加快数据 ...

  5. 神经网络入门篇:直观理解反向传播(Backpropagation intuition)

    详细推导反向传播 下图是逻辑回归的推导: 回想一下逻辑回归的公式(参考公式1.2.公式1.5.公式1.6.公式1.15) 公式1.38: \[\left. \begin{array}{l} {x }\ ...

  6. 连Python都不熟也能跑通AI人脸识别?“隐藏Boss”竟是它!

    摘要:先把AI人脸识别跑起来,然后研究它是如何实现的,整个过程中确实收获不少.所谓先跟着做,再跟着学,实践与理论结合,自己感觉有理解了一些基础概念入个门,在此分享一下自己的捣鼓经验. 1.买台小&qu ...

  7. Taro架构构析(2):Taro 设计思想及架构

    从之前微信公众号的开发经验来说,以及腾讯开放平台的接入 等经验来看,一直对腾讯的开放文档 有心理阴影. 微信小程序从文件组织上看,一个小程序页面或组件,需要同时包含 4 个文件:脚本逻辑.样式.模板以 ...

  8. 火山引擎入选《2022 爱分析 · DataOps 厂商全景报告》,旗下 DataLeap 产品能力获认可

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 2 月 9 日,国内领先的数字化市场研究与咨询机构爱分析发布了<2022 爱分析·DataOps 厂商全景报 ...

  9. IIS 设置超时时间

    高级设置 => 限制 => 连接超时(秒),默认120秒,根据实际情况调整

  10. Java 模拟数据库连接池的实现

    前面学习过等待 - 通知机制,现在我们在其基础上添加一个超时机制,模拟从连接池中获取.使用和释放连接的过程.客户端获取连接的过程被设定为等待超时模式,即如果在 1000 毫秒内无法获取到可用连接,将会 ...