从行读取值以在php或shell脚本中打印副本

时间:2012-04-27 01:52:52

标签: shell lpr

如何在以下示例中读取值“5”以发出5份文件打印副本?

例如..我的输出类似于下面的代码。


Order: 101
Guest: Raj
Phone: xxx-xxx-xxxx

5 x Bananas
5 x Grapes
5 x Apples

如何读取上述文件中的值5,使用方法如下。如果有一种方法可以在变量中得到5,我可以在lpr命令中使用它。

lpr output.txt - #

2 个答案:

答案 0 :(得分:0)

我会做这样的事情:

sed -n '/^[0-9]\+ x [A-Za-z]\+/ { s/^\([0-9]\+\) x \([A-Za-z]\+\)/\1 \2/; p }' file |
while read num fruit; do
  echo $num $fruit
  # do whatever with lpr
done

修改

如果你想要做的就是找到唯一的##,你有一个像## x Something这样的字符串,你可以使用它:

sed -n '/^[0-9]\+ x [A-Za-z]\+/ { s/^\([0-9]\+\) x.*/\1/; p }' file | uniq

如果要将其捕获到变量,请使用:

var="$(sed -n '/^[0-9]\+ x [A-Za-z]\+/ { s/^\([0-9]\+\) x.*/\1/; p }' file | uniq)"

答案 1 :(得分:0)

这会有所帮助。

egrep '[0-9]+' test | cut -f 1 -d " " | uniq