0

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

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

订购:101
嘉宾:拉杰
电话:xxx-xxx-xxxx

5 x 香蕉
5 x 葡萄
5 个苹果

如何读取上述文件中的值 5 并使用如下。如果有办法在变量中获取 5,我可以在 lpr 命令中使用它。

lpr output.txt -#

4

2 回答 2

0

这会很有帮助。

egrep '[0-9]+' test | cut -f 1 -d " " | uniq 
于 2012-04-27T07:50:59.557 回答
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)"
于 2012-04-27T02:12:57.433 回答