我想做的是:
>STRIPPER='sed s/admin_editable=\"[01]\"// | sed s/runtime_editable=\"[01]\"//'
>cat file.txt | $STRIPPER > stripped.txt
即。定义一个shell变量,它是多个命令的管道(我的命令恰好是sed
),然后我可以调用它。我现在正在从命令行执行此操作,但最终可能会将其放入脚本中。
我已经尝试了两个'和'来封闭命令都不起作用。
sed: can't read |: No such file or directory
sed: can't read sed: No such file or directory
sed: can't read s/admin_editable=\"[01]\"//: No such file or directory
sed: can't read |sed: No such file or directory
sed: can't read s/runtime_editable=\"[01]\"//: No such file or directory
sed: can't read |: No such file or directory
我知道可能有一个正则表达式可以处理这种情况,但我想知道如何一般地进行管道。
答案 0 :(得分:3)
这是一个使用函数而不是变量的好地方。
stripper() {
sed s/admin_editable="[01]"// | sed s/runtime_editable="[01]"//
}
cat file.txt | stripper > stripped.txt
您还可以删除useless use of cat:
stripper < file.txt > stripped.txt