0
如果我想在bash函数($1
)的第一个参数上运行搜索/替换模式,是否可以直接将它传递给sed
,或者我必须执行echo "$1" | sed ...
?一个短语可以直接传递给sed吗?
如果我想在bash函数($1
)的第一个参数上运行搜索/替换模式,是否可以直接将它传递给sed
,或者我必须执行echo "$1" | sed ...
?一个短语可以直接传递给sed吗?
sed
需要文件名作为输入。如果它没有得到任何文件名,它从标准输入中读取。如果您有不在文件中的文本(如您的参数),请将其传送到sed
。
或者,你可以使用进程替换(bash的功能),它使文本显示为一个文件,通常采取的文件名程序/路径:
sed 's///g' <(echo "$1")
或者你可以使用一个在这里的文件,像这样:
FOO=$(sed 's///g' <<EOF
$1
EOF
)
或者一个字符串,在这里(bash的功能):
sed 's///g' <<< "$1"
虽然ü在我看来,唱管道操作员是完成工作的最简单直接的方式。希望这有助于让你接触到其他可能性。
如果不通过标准输入,你还会如何将它传递给sed? –
@ IgnacioVazquez-Abrams这实际上是我问的确切问题 – ewok