在Linux系统中,一个核心理念就是:一切皆文件。正确的对系统中文本的编辑配置与管理是Linux系统得以稳定运行的一个重要大前提。
因此Linux系统中的文件与管理特别重要,下面简单说一下在对文件处理过程中经常用到的一些命令工具。
文本查看命令:cat,tac,rev,more,less
cat [option]…[file]…
-E:显示行结束符$
-n:显示行号
-A:显示所有控制符eg:tab键就显示为 ^I
-b:非空行编号,即空行不显示行号,略过
-s:压缩连续的空行成一行
tac [option]…[file]…
-b, –before 在行前而非行尾添加分隔标志【默认换行】
-r, –regex 将分隔标志视作正则表达式来解析
-s, –separator=字符串 使用指定字符串代替换行作为分隔标志 -s="#"
rev [options] [file …]
reversing the order of characters in every line:将每一行的显示翻转过来
注意这里tac和rev不同的地方是,tac是将整个文档以行为单位翻转,而rev是以每一个字符为单位,在一行的范围内翻转。ABC–>CBA 而tac 是 ABC 【第一行】 123【第二行】 –>123【第一行】ABC【第二行】
more [options] file […] 翻到底自动退出
less [options] file […] 翻到底不会自动退出(man帮助查看就是用的less用法)
head [OPTION]… [FILE]…
-c # :指定获取前#个字节
-n # 或 -# : 指定获取行数
tail [OPTION]… [FILE]…
-c # :指定获取前#个字节
-n # 或 -# : 指定获取行数
-f :跟踪显示文件新追加的内容,常用语日志监控
cut [OPTION]… [FILE]…
-d : 指明分隔符,默认tab 。eg:-d" ",以空格为分割
-f FILEDS: #: 第#个字段 #,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6 混合使用:1-3,7
-c按字符切割 cut -c 1-10 anaconda-ks.cfg
–output-delimiter=STRING指定输出分隔符
paste 合并两个文件同行号的列到一行
paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2
paste -s f1 f2 先合并成一行,在追加。n个文件就显示n行。
wc [OPTION]… [FILE]…
-c, –bytes 显示 字节数
-m, –chars 显示 字符数
-l, –lines 显示 行号
sort [OPTION]… [FILE]…
-r执行反方向(由上至下)整理
-n执行按数字大小整理 默认是按字符排序,即1,11,12…19,2,21…
-f选项忽略(fold)字符串中的字符大小写
-u选项(独特,unique)删除输出中的重复行
uniq[OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
【连续且完全相同方为重复】
diff foo.conf-brokenfoo.conf-works
比较两个文件的不同
【【【【【【【【【【【【以上命令均不改变原有文件的内容】】】】】】】】】】】】
—-joker的部落阁
原创文章,作者:joker,如若转载,请注明出处:http://www.178linux.com/56496