bash - 用grep空格?
问题描述
我有一个这样的 csv 文件:
Monday
Tuesday
Wednesday
Thursday
Friday
我想用星期几的 csv 文件分析另一个 csv 文件。我的脚本需要星期一,分析文件并提取包含星期一这个词的所有行,然后切换到星期二等....
我使用这个命令来做到这一点:
grep -wf daysfile.csv myothercsv.csv > file.csv
该命令运行良好,但结果是:
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Wednesday XXXX XXXX XXXX
Wednesday XXXX XXXX XXXX
Wednesday XXXX XXXX XXXX
Wednesday XXXX XXXX XXXX
但我想有这样的空间:
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Monday XXXX XXX XXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
Tuesday XXXX XXXX XXXX
你能帮助我吗 ?
解决方案
只需将 grep 的输出通过管道传输到
perl -ape 'print "\n" if $previous and $previous ne $F[0]; $previous = $F[0]'
-p
逐行读取输入并在处理后打印每一行-a
将每个输入行拆分为 @F 数组
推荐阅读
- python - 在分组变量中按先前值(年份)标记滚动重复
- firebase - Flutter firebase phoneAuth 问题
- javascript - 处理程序引用总是返回到第一个渲染的组件
- gmail - G Suite - I want to send emails using two domain names using one email account
- ios - 在 indexPath 处的行的 Tableview 高度崩溃
- java - 在计算器上计算到 IDE 结果时,Java 溢出有不同的结果?
- swift - 如何使用 swift 文件管理器访问外部硬盘驱动器
- javascript - 如何在不刷新页面的情况下重新加载 div(使用 JavaScript)以更新图形中的更改
- javascript - 在另一个视图 Vue.js 上显示表单文本
- css - 将具有溢出内容的弹性项目拉伸到其容器的完整可用宽度