编辑——不使用 bash
$1
变量。示例使用字段指示符:$1
,$2
,$3
是awk
输入记录字段 不幸的是,我做这个例子太快了,把例子弄混了。
我相信这是一个普遍的问题。我awk
用作演示工具。目的是将 ( awk
) 脚本参数暗示到awk
(或任何工具)命令中。
我们使用从 STDIN 到提供的字段awk
来产生结果。标识符$1
, $2
,$3
是awk
来自 STDIN 流的字段。
所需的解决方案 A(首选概念),例如...
#!/bin/bash -f
# script: blue.sh
#
awk -e '{ print $1 " and " $2 " silly example" ;}'
#
以及所需的输出:
$ echo "red blue yellow" > ./blue.sh
red and blue silly example
$
备选方案 B 可能被认为是:
#!/bin/bash -f
# script: green.sh
#
wrk="awk -e '{ print \$3 \" and \" \$2 \" variable example\" ;}' "
#
echo "work is:"
echo $wrk
echo
$wrk
以及所需的输出:
$ echo "red blue yellow" > ./green.sh
wrk is:
awk -e '{ print $3 " and " $2 " variable example" ;}'
yellow and blue variable example
$
问题出在表达式的引用中-e
。
有没有办法实现这两个例子?