linux系统常用查看文件文本命令行,Linux 入门记录:十七、Linux 命令行文本/文件处理工具...

一、文件浏览

cat 查看文件内容

more 以翻页形式查看文件内容(只能向下翻页)

less 以翻页形式查看文件内容(可以上下翻页)

head 查看文件的头几行(默认10行)

tail 查看文件的尾几行(默认10行)

二、正则匹配打印行

命令 grep 用来全局匹配正则表达式并打印所在行:

grep 'mingc' /etc/passwd 在该文件中匹配mingc的用户信息并打印所在行

find / -user mingc | grep ".*.png$" 查找mingc的所有png文件(管道操作)

常用参数:

-i 搜索时忽略大小写

-n 显示结果所在行数

-v 输出不匹配该正则的行(类似于一个取反操作)

-An 在输出的时候包含结果所在行之后的指定n行

-Bn 在输出的时候包含结果所在行之前的指定n行

三、文本切割打印字段

命令 cut 常用来切割文本行、打印某些字段:

cut -d:fl /etc/passwd 打印passwd文件中冒号分割的第1个字段(用户名)(列出来多行的用户名)

grep mingc /etc/passwd | cut -d: -f3 打印mingc的用户信息汇总冒号分割的第3个字段(uid)

常用参数:

-d 指定分割字符(默认Tab)

-f 显示特定序号的字段(从1开始)

-c 显示特定范围字符(从第几个到第几个)

示例:

grep mingc /etc/passwd | cut -d: -f3 打印mingc的用户信息中冒号分割的第3个字段(uid)

grep mingc /etc/passwd | cut -d: -f6,7 打印mingc的用户主目录和登录Shell

grep mingc /etc/passwd | cut -c1-5 打印mingc的用户信息中第1~5个字符

grep mingc /etc/passwd | cut -c1- 打印mingc的用户信息中第1个字符之后的所有字符

grep mingc /etc/passwd | cut -c-5 打印mingc的用户信息中第5个字符之前的所有字符

四、文本统计

命令 wc 用于统计文件的行数、单词数、字符数等:

wc test.md

不带参数时默认输出一行,字段格式为:

行数 单词数 字符数 文件名

常用参数:

-l 只统计行数

-w 只统计单词数

-c 只统计字节数

-m 只统计字符数

五、文本排序

命令 sort 用于对文件内容进行排序(也可以对STDIN进行排序):

sort filename

常用参数:

-r 逆向(倒序)排序

-n 基于数字排序

-f 忽略大小写

-u 去重复(剔除重复行)

-t 指定分隔符(一般配合-k参数使用,单纯分割毫无意义)

-k n 当指定分割符时,按照第n个字段进行排序(序号n从1开始)

-r、-n、-t、-k 参数可以配合使用:

f8ca8b5ee2f316e5f2f3c9aaf0f8daec.png

上图中,把 test.md 文件内容的每行按照冒号分割、基于数字对第3个字段进行逆向排序。

六、剔除重复行

命令 sort -u 可以剔除文件内容重复行,但副作用是进行了排序。

命令 uniq 可以剔除文件内容(相邻的)重复行:

e8075e3d12558692b1138f3d663f5a4f.png

七、文本比较

命令 diff 用来比较两个文件的区别:

diff test1.md test2.md

常用参数:

-i 忽略大小写

-b 忽略空格字符

-u 统一显示比较信息(一般用来生成patch文件)

示例:

diff -u old.md new.md > update.patch 把文件的更新信息生成到补丁文件

八、拼写检查

命令 aspell 用来显示检查英文拼写:

aspell check filename

aspell list < filename

(CentOS 6.9 64位系统里似乎没有这个命令,也不常用,不详述)

九、字符转换

命令 tr 用于从标准输入对字符进行转换处理。如果处理来自文件的输入,需要重定向。

删除关键字:

tr -d 'keyword' < filename

转换大小写:

tr 'a-z' 'A-Z' < filename

十、流式编辑——搜索替换

sed 命令是一种可以配合正则表达式使用的流式编辑工具。处理文件流时,把当前处理的行存储在临时缓冲区,称“模式空间”(pattern space),然后处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有发生改变,除非使用重定向存储输出。sed 命令主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

语法:

sed [options] 'command' file(s)

sed [options] -f scriptfile file(s)

常用参数 options:

-e

-f

-n 仅显示处理后的结果

常用命令 command:

d 删除行

D 删除第一行

s 替换指定字符

h 拷贝内容到缓冲区

H 追加内容到缓冲区

g 获取缓冲区的内容,替换当前文本

G 获取缓冲区的内容,追加到当前文本后面

p 打印行

P 打印第一行

q 退出sed

示例:

sed 's/linux/unix/g' filename s表示搜索替换,linux替换为unix,g表示全局替换,filename目标文件

sed 'l,50s/linux/unix/g' filename 1到50行进行全局替换

sed -e 's/linux/unix/g' -e 's/ming/mingc/g' filename -e参数替换多个

sed -f script filename 指定一个script来处理文件

内容来源于网络如有侵权请私信删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux是一种自由和开放源代码的操作系统,使用广泛,尤其在服务器领域。以下是Linux系统基础入门教程: 1. Linux系统安装 首先需要选择合适的Linux发行版,如Ubuntu、Debian、CentOS等。然后下载并安装相应的ISO镜像文件,通过光盘或U盘启动电脑安装Linux系统。 2. 常用命令 Linux系统命令行非常强大,学习常用命令可以提高工作效率。例如: - cd:切换目录 - ls:列出目录内容 - mkdir:创建目录 - rm:删除文件或目录 - cp:复制文件或目录 - mv:移动或重命名文件或目录 - cat:查看文件内容 - grep:查找文件中的文本 - chmod:修改文件权限 - chown:修改文件所有者 3. 文件系统 Linux系统采用了树形结构的文件系统,根目录为/。其他目录按照功能分配,例如/bin存放系统执行文件,/etc存放配置文件,/home存放用户目录,/var存放变化的文件等。 4. 用户管理 Linux系统支持多用户同时登录,需要行用户管理。例如: - useradd:添加用户 - passwd:修改用户密码 - userdel:删除用户 - usermod:修改用户属性 5. 软件包管理 Linux系统的软件包管理非常方便,可以通过包管理器安装、更新、删除软件包。例如: - apt-get:Debian系列系统的包管理器 - yum:Red Hat系列系统的包管理器 - pacman:Arch Linux的包管理器 以上是Linux系统基础入门教程的一些内容,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值