Shell之内容匹配与格式输出
printf输出格式补0对于⼤⽂本或者有些特定格式的⽂本,有时我们要查特定内容或定位指定的区域,这样就需要内容匹配。
关于内容匹配,我们常使⽤的有⼏个命令:
grep,⽀持正则,查包含有匹配项的⾏。
cut,提取指定的列,默认是以tab键【制表符】作为分隔符;-d 显⽰指定分隔符;-f 提取第⼏列,如要提取多列⽤","分隔。
通常,我们是将grep与cut⼀起使⽤,先由grep到指定内容的⾏,然后再由cut取指定的内容。
⼆,格式化输出
printf,是常⽤的格式化输出命令,⽤法有些类似C的printf();%s,%i,%f,分别输出字符串,整数,⼩数;%ns,指输出n位字串,如果不⾜n位则从左则⽤" "格补齐,若字串长度⼤于n位则正常输出。
如:
如果是⽂件的话,不能直接输出,必须以调⽤系统命令的⽅式输出 $(),如:
三,awk命令
awk的原理:把⽂件逐⾏读⼊,以空格或tab键为默认分隔符将每⾏切⽚,切开的部分再进⾏各种分析处理【每⼀块作为⼀个域,$0,表⽰整个,$1第⼀⽚,$2第⼆⽚,...】
语法:awk '{pattern + action}' {filenames}
同样,awk⽀持管道符,即前⼀命令的输出可作为awk的输⼊。