我怎麼能呼應標準輸入?回波標準輸入或標準輸入
例如,我有所謂的「替換」的別名。當我運行'替換'它應該回聲
sed 's/~/~\\n/g'
進入我的命令行。注意上面的sed命令沒有文件目標。在將sed回顯到命令行後,我會提供文件目標。
我怎麼能呼應標準輸入?回波標準輸入或標準輸入
例如,我有所謂的「替換」的別名。當我運行'替換'它應該回聲
sed 's/~/~\\n/g'
進入我的命令行。注意上面的sed命令沒有文件目標。在將sed回顯到命令行後,我會提供文件目標。
創建alias
這樣的:
alias replace="sed 's/~/~\\n/g' "
然後像這樣運行它:
replace file
PS:這不會echo
您的tty全sed命令,但它會有效地運行:
sed 's/~/~\\n/g' file
編輯:在執行前回顯命令的問題。創建一個腳本sedscript.sh
這樣的:
set -x
# do some sanity check on $1
sed 's/~/~\\n/g' "$1"
現在有你的別名是這樣的:
chmod +x sedscript.sh
alias replace="/path/to/sedscript.sh "
現在每次運行:
replace file
它將呼應sed命令執行之前,這條線:
++ sed 's/~/~\\n/g' file
標準放什麼?於一個命令的標準輸出發送到另一個的標準輸入,使用一個管:'命令1 | command2' –
這個問題很混亂。你想在執行它之前顯示別名。你應該寫一個函數來允許你指定文件目標,但是如果你按原樣鍵入'sed'命令,它會希望輸入在'stdin'上輸入。 – unxnut