文档章节

Linux基础命令(三)——>文件过滤及内容编辑处理命令

o
 osc_z1hvg4cu
发布于 2018/04/25 11:27
字数 1636
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

1、cat   合并文件或查看文件内容

基本功能:cat   test.txt     查看文件内容 也可以多文件显示

                  cat  test1.txt test2.txt >test3.txt   把多个文件合并成一个

                  cat  >test.txt  创建编辑文件,后边接要编辑的内容ctrl+d或c可结束编辑  如果错了 需要按住CTRL+退格键

                  cat>>test.txt<<EOF       飞交互式编辑或追加内容到文件尾部  EOF必须成对出现  也可以用别的标签替换

                   hello wod    

                  EOF

                  cat  /dev/null >test.txt  情况文件内容 

参数:-n  显示行号  

           -b 去除空行显示行号

           -E 每一行行尾带上$符号

           -s 当有连续以上的空白行,就替换为一行空白行

          -T Tab字符显示为 ^I

          -v  除了LFD和TAB  使用^和M-引用   

2、tac 反向显示文件内容  是cat的反写   连个命令都是以一行文本为单位的

参数:-b  在行前添加分割标志

           -r 将分割标志视为正在我表达式来解析

           -s 使用指定字符串进行分割

3、more  分页显示文件内容

语法:more  选项  文件

参数:-num  指定屏幕显示大小为num行

           +num  从行号num开手显示

          -s  把连续的多个空行显示为一行

         -p  不滚屏  而是清楚整个屏幕 然后显示文本

         -c 不滚屏,从每一屏顶部开始显示文本,每显示完一行,就清楚这一行的剩余部分

4、less 分页显示文件内容  比more更为强大

语法:less  参数  文件

参数:-i   搜索时忽略大小写

          -m  显示百分比

          -N   显示每行的行号

          -s   将连续空行压缩成一行

          -e   当显示到结尾时自动退出文件 ,若不用此选项参数,则需要输入q  退出交互模式

5、head  显示文件内容头部  不接参数  默认显示10行

参数:-n   指定显示的行数   head -5  eg1.txt

           -c   指定显示的字节数

            -q  不显示包含给定文件名的文件头

            -v   总是显示包含给定文件名的文件头

6、tail  显示文件内容尾部  默认10行

实例:

tail -5 eg1.txt  显示后5行

tail -n +5  eg1.txt  从第5行开始显示

7、tailf  跟着日志文件  等同于 tail -f 不同的是如果文件不增长,那么她不会去访问磁盘,也不会更改访问时间

tailf -n(指定显示的行数)  文件

8、cut 从文本中提取一段文字并且输出

参数:-c 以字符单位进行分割

           -d 自定义分割符,默认以tab为分割符

           -f  与-d一起使用,指定显示区域

           N 第N个字节或字段

           N-  第N个字节或字段至末尾

           N-M 第N-M个字节或字段 包含M

           -M 第1到M(含)个字节或字段

实例:

cut -b  3 eg1.txt  每一行只输出第三个字节

cut -b 3-5,8 eg1.txt    输出3-5的字节和第8个字节

cut -b 3-   eg1.txt    输出第2个字节至行尾

9、split 分割文件

语法:split   选项   输入文件   输入文件名前缀

参数:-b  指定分割后文件的最大字节数

           -l  指定分割后最大行数

           -a  指定后缀长度

           -d  使用数字后缀

实例:

[root@mrxw eg]# split -l 3 eg1.txt new_  默认字母后缀
[root@mrxw eg]# ls  
eg1.txt  eg2.txt  eg3.txt  new_aa  new_ab  new_ac  new_ad  new_ae

[root@mrxw eg]# split -l 3 -d eg1.txt new_    数字后缀
[root@mrxw eg]# ls
eg1.txt  eg2.txt  eg3.txt  new_00  new_01  new_02  new_03  new_04  new_aa  new_ab  new_ac  new_ad  new_ae

cut -b 100k -d eg1.txt new_    按大小分割

10、paste 合并文件

语法:paste 选项  文件

参数:-d  指定合并的分割符  默认TAB

          -s 每个文件占一行

实例:

[root@mrxw eg]# paste eg1.txt eg2.txt
1  one

[root@mrxw eg]# paste -d: eg1.txt eg2.txt
1:one

[root@mrxw eg]# cat eg1.txt
1
2
3
4
5
[root@mrxw eg]# paste -s eg1.txt
1 2 3 4 5

 

11、sort 文本排序

sort eg1.txt 默认升序排序

参数: -b 忽略每行开通的空格

            -n 按数值大小进行排序

            -r 倒序排序

            -u 去除重复行

            -t 指定分隔符

            -k 按指定区间排序

12、join 按两个文件相同字段合并  但必须是排序过后的

join eg1.txt eg2.txt

13、uniq  去除重复行(只能是相邻的)

-c  去除重复行,并计算每行出现的次数

-d  只显示重复行

-u 只显示唯一行

sort -n eg1.txt | uniq -c

 

14、wc 统计文件的行数,单词数或者字节数

wc -c eg1.txt  统计字节数

wc -l  eg1.txt 统计行数

wc -L eg1.txt 打印最长行的长度

 

15、iconv  转换文件的编码格式

语法: iconv  选项   原编码  新编码  输入文件

参数:-f  encodingA  从编码A转化

          -t  encofdingB  转换成编码B

          -l  显示系统支持的编码

          -o  将输出输入到指定文件

实例:iconv  -f gb2312 -t utf-8 eg1.txt

16、dos2unix  将DOS(windows)格式文件转换成UNIX格式

DOS的文件是以‘\r\n’作为转换标志    dos2unix   将‘\r\n’转换成‘\n’

UNIX是‘\n’   unix2dox  将\n  转换成  \r\n

不经过转换会出错

语法:dos2unix  文件

 

17、diff  比较两个文件的不同  可以逐行比较   并输出文件的差异

diff  文件1   文件2

参数:-y  以并列的方式显示    -W 使用-y参数  指定显示宽度    -c 使用上下文输出格式  -u使用统一格输出

diff 还可以比较目录

 

18、vimdiff  可视化比较工具

退出需要执行两次(:q)

 

19、rev 反向输出文件内容

rev eg1.txt

 

20、tr 替换或删除字符

tr  选项  字符1  字符2 <文件

参数:-d  删除字符    -s  保留连续字符的第一个字符,删除其他字符   -c 使用第一个字符串的补集 取反

[root@mrxw eg]# tr -d hell <eg1.txt   删除指定字符

 word

tr -d '\n\t' <文件   删除所有换行符和TAB

tr  '[0-9]'  '[a-j]' <文件  数字替换成字母

tr -c   '0-9'  '*'  <文件    除了数字外其他的都替换成*

 

21、od  按不同进制显示文件

 

22、tee 多重定向

tee  选项  文件

参数  -a  向文件追加内容  而不是覆盖

 

23 vi  vim  文本编辑器命令

 

 

 

 

 

                  

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

是否有可能从另一个git存储库中挑选一个提交? - Is it possible to cherry-pick a commit from another git repository?

问题: I'm working with a git repository that needs a commit from another git repository that knows nothing of the first. 我正在使用一个git存储库,需要从另一个不知道第一个存储库......

技术盛宴
昨天
14
0
【LeetCode】53 盛最多水的容器

题目 解题思路 双指针法: https://leetcode-cn.com/problems/container-with-most-water/solution/sheng-zui-duo-shui-de-rong-qi-by-leetcode-solution/ 代码 public class Solution { ......

JaneRoad
昨天
16
0
阿里云OSS配置CDN加速

首先购买CDN流量包 然后添加域名 添加好后 然后将域名OSS.xxxx.com 解析到 生成的CDN域名上 这样就完成了

可达鸭眉头一皱
昨天
16
0
js 整数与小数正则替换片段

说明 /(\d+)/g 整数 /(\d+\.\d+)rem/g 小数 /(\d+\.\d+|\d+)rem/g 其中 | 或 条件 例子 全局查找带 rem 单位的,替换成 px 单位 let text = text.replace(/(\d+\.\d+|\d+)rem/g, function(s......

DrChenXX
昨天
17
0
ubuntu下minicorba例子

一、开发环境安装 sudo apt install omniorb omniorb-idl omniidl libomniorb4-dev libomniorb4-2 omniorb-nameserver libomnithread4 libomnithread4-dev 二、源文件: Hi.idl module ......

wangxuwei
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部