linux命令逐行输出 linux输出行号

linux diff命令详解;diff命令在最简单的情况下,比较给定的两个文件的不同 。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入 。diff命令是以逐行的方式 , 比较文本文件的异同处 。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作 。下面是linuxdiff命令的具体介绍:
diff(diff即different简写)命令用于比较文件的差异 。
选项:
-
-a或——text:diff预设只会逐行比较文本文件;
-b或_ignore-space-change:不检查空格字符的不同;
-B或_ignore-blank-lines:不检查空白行;
-c:显示全部内容 , 并标出不同之处;
-C
-d或——minimal:使用不同的演算法,以小的单位来做比较;
-D
-e或——ed:此参数的输出格式可用于ed的script文件;
-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处;
-H或_speed-large-files:比较大文件时,可加快速度;
-l
-i或_ignore-case:不检查大小写的不同;
-l或——paginate:将结果交由pr程序来分页;
-n或——rcs:将比较结果以RCS的格式来显示;
-N或_new-file:在比较目录时,若文件A仅出现在某个目录中 , 预设会显示:Onlyin目录,文件A若使用-N参数,则diff会将文件A与一个空白的文件比较;
-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称;
-P或_unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较;
-q或_brief仅显示有无差异,不显示详细的信息;
-r或——recursive:比较子目录中的文件;
-s或_report-identical-files:若没有发现任何差异,仍然显示信息;
-S
-t或_expand-tabs:在输出时,将tab字符展开;
-T或_initial-tab:在每行前面加上tab字符以便对齐;
-u,-U
-v或——version:显示版本信息;
-w或_ignore-all-space:忽略全部的空格字符;
-W
-x
-X
-y或_side-by-side:以并列的方式显示文件的异同之处;
_help:显示帮助;
_left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容;
_suppress-common-lines:在使用-y参数时,仅显示不同之处 。

本文章基于thinkpadE15品牌、centos7系统撰写的 。
如何用linux脚本获取到第二行输出命令:相关显示命令有sed , tail,cat.awk,head等,可以常看Linux命令大全 , man命令或者help命令查看相关用法 。我们只介绍其中的一部分 。
一、sed命令
#sed --help;查看具体使用规则:
#sed -n 'xp' filename;显示文件X行命令:
#sed -n 'x,yp' filename;显示文件X行到Y行的内容:
linux查找并输出特定行和它的前一行且在后面再输出一个空白行的命令您需求不太明确,输出特定行 , 后面加空行没有意义 , 比如说输出1-3行,后面就是空的了,为啥还要加空行?
实现方式 , grep + sed
grep -n 取行数,sed -n 'n-1,n-2'
#注意实际用的时候,n-1要算出来,或者脚本里面传参数
例:
[user@master tmp]$ ll | awk '{ print $3 }'
cloudera-scm
clouderauser
hadoop
hdfs
hive
mapred
root
yarn
zookeeper
clouderauser
[user@master tmp]$ ll | awk '{ print $3 }'| grep -n yarn
9:yarn
[user@master tmp]$ ll | awk '{ print $3 }'| sed -n '8,10p'
root

推荐阅读