您的位置:首页 > 运维架构 > Linux

Linux diff tr tee 命令

2017-12-31 23:05 423 查看
diff比较两文件或目录的不同之处
而且都是以第一个文件来作为操作对象:
第一个文件与第二个文件相比多的,要删除,少的要增加。就是最后会把第一个文件变得的第二个文件一样。

举例两文件1.txt和2.txt:





1d0:第一个文件第一行删除才和第二个文件第0行一样(才就是最开头行)
< Hi,
2a2:第一个文件第二行增加才和第二个文件第二行一样
> Hi,
4,5c4:第一个文件第四,五行改变才和第二个文件第四行一样
< I am fine,
< Thank you.
---
> I am fine.
'<'代表删除的行,而'>'代表添加的行。

y或--side-by-side  以并列的方式显示文件的异同之处。
-W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。“|”表示前后2个文件内容有不同“<”表示后面文件比前面文件少了1行内容“>”表示后面文件比前面文件多了1行内容


-c  显示全部内文,并标出不同之处。
“+” 表示后面的文件比前面多了1行内容 “-” 表示后面的文件比前面少了1行内容“!” 表示前后2个文件内容有不同 "---"表示变动前的文件,"+++"表示变动后的文件


-q或--brief  仅显示有无差异,不显示详细的信息。

-u,-U或--unified=  以合并的方式来显示文件内容的不同。

前面的"-1,5"分成三个部分:减号表示第一个文件,"1"表示第1行,"5"表示连续5行。合在一起,就表示下面是第一个文件从第1行开始的连续5行。同样的,"+1,4"表示变动后,成为第二个文件从第1行开始的连续4行。
如何理解,下图:




如果两个文件含有相同的文本但是大小写不同,diff命令仍会默认报告它不同
-i 忽略大小写
但这样就会没有输出生成,因为当两个文件相同时的默认行为,如果想看到提示说相同的话:
-s 选项报告两个文件相同


使用 -b 忽略空格比较两个文件不同,并生产补丁



除了文件外,diff命令还可以比较两个目录



vimdiff
只有一个文件中有的行,颜色相对
两个文件中都存在,但是包含差异的行为一种颜色,引起差异还会加字体背景


ctrl + w + w 左右切换 或者上下切换
dp 把左边光标所在的行复制到右边对应的行
do 把右边的复制到左边光标所在的对应的行

https://jingyan.baidu.com/article/ae97a646da05debbfd461d33.html

tr
容易地实现 sed 的许多最基本功能。
可以用一个字符来替换另一个字符,或者可以完全除去一些字符。也可以用来除去重复字符



逐个字符的替换且替换不修改源文件



小写替换成大写



去除Z的字符



删除换行符
PS:不可见字符都得用转义字符来表示的,这个都是统一的



将换行符替换成:



除了a-z 以及换行符以外的,都删除
除了1-2数字以外的,都删除



删除重复的

tee
我们平常比如 ls >a.txt,这时我们就不能看到输出了
ls | tee /tmp/ls.txt
-a 追加输入





把标准错误也输入到文件里



虽然重复打印,但追加到文件中的只有一次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令