0
我要投入大量的滤波在bash脚本,让我的过滤命令短一点:如何正确处理Bash脚本中的IO?
#before:
$ cat unreadable.log | grep "bla" |[...]| sed "s/blubb//" >>readable.log
#after:
$ cat unreadable.log | the_script_I_m_writing.sh >>readable.log
但是,如何正确处理IO中的bash脚本,该after
线可如图所示执行? 正如你可以在bash脚本里面看到的那样,将会有很多简单的命令组合在一起。所有这些管道应该从stdin
开始,并将最终结果发送到stdout
。
您也可以跳过'grep',因为'sed'可以做到这一点:'sed的 '/ BLA/S/blubb //''(除了OP显示'grep'和'sed'之间可能存在一些命令 –
@ DennisWilliamson实际上,在这两种情况下替换只应用于匹配行,而不匹配的行不会被sed删除 –
很简单:'sed -n'/ bla/s/blubb // p'' –