回显标准输入或标准输入

时间:2013-08-21 21:29:22

标签: shell unix

我如何回应stdin?

例如,我有一个名为'replace'的别名。当我运行'replace'时它应该回显

sed 's/~/~\\n/g' 

进入我的命令行。请注意,上面的sed命令没有文件目标。在将sed回到命令行后,我将提供文件目标。

1 个答案:

答案 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