如何在以下示例中读取值“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 - #
答案 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