次の例の値「5」を読み取って、ファイル印刷の5つのコピーを発行するにはどうすればよいですか。
たとえば..私の出力は以下のコードに似ています。
注文:101 ゲスト:ラージ 電話番号:xxx-xxx-xxxx 5xバナナ 5xブドウ 5xリンゴ
上記のファイルの値5を読み取り、使用方法は次のとおりです。変数で5を取得する方法がある場合は、lprコマンドで使用できます。
lpr output.txt-#
私はこのようなことをします:
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)"
これは役に立ちます。
egrep '[0-9]+' test | cut -f 1 -d " " | uniq