以下是该方案:
我尝试使用sed
,使用正则表达式来查找错误文本,并将其替换为空。 sed
的输出可以保存到临时文件中,并且该文件作为输入文件参数传递给命令,但是就像我说的那样,我无法创建临时文件。有没有a)直接管道sed
输出作为输入文件参数的方法,或b)更好的方法来执行此操作?
答案 0 :(得分:1)
没有创建临时文件:
sed 's/bad//g' file | command
或者如果绝对需要“文件”名称作为命令的参数:
sed 's/bad//g' file | command -
e.g:
$ cat file
1
2
3
4
5
$ sed 's/3//g' file | awk '{print FILENAME, $0}'
- 1
- 2
-
- 4
- 5
如果那不是您想要的(例如,如果您需要在命令中多次解析输入文件),请编辑您的问题以阐明您的要求,并包括简明,可测试的样本输入和预期输出。
答案 1 :(得分:0)
这是bash
- 具体的"流程替换" :
command <(sed 's/bad//g' somefile)
您的程序{1}}在此实例中会看到command
这样的文件名作为参数。