我如何回应stdin?
例如,我有一个名为'replace'的别名。当我运行'replace'时它应该回显
sed 's/~/~\\n/g'
进入我的命令行。请注意,上面的sed命令没有文件目标。在将sed回到命令行后,我将提供文件目标。
答案 0 :(得分:1)
像这样创建alias
:
alias replace="sed 's/~/~\\n/g' "
然后像这样运行:
replace file
PS:你的tty上不会echo
完整的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