当前位置: 首页 > news >正文

网站建设与app开发/企业查询系统官网

网站建设与app开发,企业查询系统官网,做搜狗网站优化快速排,莱阳网页定制本文链接:http://blog.csdn.net/kongxx/article/details/8284952今天工作中碰到一个问题,需要过滤一些命令行的输出,并且将结果按类似表格的格式输出 这里假定有一个命令的输出如下,假定我们过滤掉了其中…


本文链接:http://blog.csdn.net/kongxx/article/details/8284952


今天工作中碰到一个问题,需要过滤一些命令行的输出,并且将结果按类似表格的格式输出

这里假定有一个命令的输出如下,假定我们过滤掉了其中某些列或者行,这里我们将其存入test.txt文件

ID   Name    Designation    Department  Salary
100  Thomas  Manager        Sales       $5,000
200  Jason   Developer      Technology  $5,500
300  Sanjay  Sysadmin       Technology  $7,000
400  Nisha   Manager        Marketing   $9,500
500  Randy   DBA            Technology  $6,000
下面是一个简单的awk文件,将其保存到test.awk文件里。
function format(value, maxlen, align) {len=length(value);lendiff=maxlen-len;if (lendiff>0) {for (k=0; k<lendiff; k++) {if(align=="right") {value=value" ";} else {value=" "value;}}}return value;
}
BEGIN {rows=0;cols=5;
}
{if(NF==cols) {for(i=1; i<=NF; i++) {if (length($i) > lengths[i]) lengths[i]=length($i);}rows++;for(col=1; col<=NF; col++) {data[rows, col]=$col;}}
}
END {for(i=1; i<=length(lengths); i++) {lengths[i]=lengths[i]+4;}for(i=1; i<=rows; i++) {print format(data[i, 1], lengths[1]), format(data[i, 2], lengths[2], "right"), format(data[i, 3], lengths[3], "right"), format(data[i, 4], lengths[4], "right"), format(data[i, 5], lengths[5])}
}
首先是一个format函数,用来格式化某些字符串,这个函数包含三个参数:第一个参数value是需要格式化的字符串,第二个参数是需要把字符串格式化成多长的字符串,第三个参数是用来表示当字符串长度小于maxlen时,在前面还是在后面补空格。

接下来是BEGIN部分,定义了两个变量,rows是用来表示文本内容共有多少行需要处理,这里考虑到空行问题所以没有使用NR变量;cols是用来定义最终需要显示的列数,这里假定全部列都需要,所以定义成5.

Action部分,处理了所以列是5的的行,这里根据需要可以写自己的过滤条件,上面例子里为了方面没有做过多过滤;这部分使用了两个循环:第一个循环用来计算所以行中每一列的最大长度,并将其保存在lengths数组中;第二个循环是将所以需要的数据放到一个二维数组中;

最后是END部分,此部分也包括两个循环:第一个循环是将每一列的最大长度加4,目的是为了在每一列之间加一些间隔;第二个循环是用来格式化输出的,其中将Name,Designation和Department列左对齐,数字列右对齐。


测试,在命令行运行awk -f test.awk test.txt命令,可以得到如下结果

     ID Name       Designation     Department         Salary100 Thomas     Manager         Sales              $5,000200 Jason      Developer       Technology         $5,500300 Sanjay     Sysadmin        Technology         $7,000400 Nisha      Manager         Marketing          $9,500500 Randy      DBA             Technology         $6,000

http://blog.csdn.net/kongxx/article/details/8284952

http://www.lbrq.cn/news/1237573.html

相关文章:

  • 建站之星好不/台州seo优化公司
  • 冀州建设局网站/百度推广计划
  • 网站源码下载地址是什么/焦作seo推广
  • 大连网站建设-中国互联/网络营销的推广方式都有哪些
  • 深圳市住房和建设局网站-%3e认租申请/手机管家一键优化
  • php开源企业网站/网上怎么免费推广
  • 里水网站开发/企业营销策划方案范文
  • 大型手游网络游戏排行榜前十/上海优化营商环境
  • 东莞做网站定制/预防电信网络诈骗
  • 网站搭建的/站长之家排名查询
  • 曰本真人性做爰相关网站/西安百度竞价外包
  • 西部网站域名出售/360推广怎么收费
  • 阿里云服务器网站备份/免费发广告的网站
  • 大理建设工程信息网站/百度分析
  • 中国开头的网站怎么做/临沂今日头条新闻最新
  • 北京建设银行卡信用卡网站/5151app是交友软件么
  • 网站建设主要内容/微信营销怎么做
  • wordpress分类显示博客/论述搜索引擎优化的具体措施
  • 广东东莞石碣今天新闻/seo网络优化公司
  • 用自己的电脑做网站需要备案吗/线下推广团队
  • 网站建设小组五类成员/东莞seo代理
  • 安顺网站建设兼职/昆山网站建设
  • 留学中介网站建设方案/免费网站制作成品
  • 公司没有网站如何做外贸/爱站网站seo查询工具
  • 济宁建设局网站首页/百度普通收录
  • 跨境出口电商网站/哪里可以建网站
  • 网站做的漂亮的企业/培训机构哪家最好
  • 小公司做网站/百度收录网站提交入口
  • 医院网站建设作用/seo排名优化是什么意思
  • 深圳十大国际外贸公司/seo下载站
  • 跨语言模型中的翻译任务:XLM-RoBERTa在翻译任务中的应用
  • 关于域名的级别
  • Nvidia Orin DK 刷机CUDA TensorRT+硬盘扩容+ROS+Realsense+OpenCV+Ollama+Yolo11 一站式解决方案
  • ClickHouse Windows迁移方案与测试
  • 【vue】computed计算属性
  • vue3渲染html数据并实现文本修改