【发布时间】:2014-12-12 20:22:00
【问题描述】:
清理这个 unix 命令的“最佳”方法是什么? (例如,一个干净的 sed 命令)
cat file.txt | tr '\t' '|' | tr '|\n' '|' | tr -s '|' | tr '"' '\n' | sed "/^|/d"
我的工作流程如下所示:
- 用管道替换标签
- 只用一根管子替换管子 + 新线
- 挤出重复的管道
- 用新行替换 " 标记
- 删除额外 |每一行
(我在使用 sed 替换制表符、换行符等时遇到问题,所以这就是我使用 tr 的原因)
【问题讨论】:
-
举个例子会更好。
-
显示您的输入和所需的输出会更有帮助。有很多方法可以整理你所做的事情,但考虑到你正在尝试做的事情的确切知识,可能会有一种完全不同的方式来处理它。请更新您的问题。
-
该过滤器的规格是什么,即需要转换或删除什么?如果没有这个,我们需要从您的(不优雅的)实现中对其进行逆向工程!
-
对于同时涉及多个输入行的任何内容(例如连接行),您应该使用 awk。发布一些示例输入和预期输出。