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