grep

2017-03-25 16 views
1

の出力行の先頭にあるすべての数字を取得するhello私はcalibre(calibre-ebooks.com)のコマンドラインからニュースダウンローダを作成していますが、スクリプトはこのコマンドを使ってcalibre DBから電子ブックのIDを取得しますgrep

calibredb list --with-library '/mediacenter/media/Książki' | grep --line buffered "Benchmark.pl" | cut -c 1 

が、それはIDだけのために働く1-9

ウェブ上で検索して自分を試してみましたが、あなたはcalibredbからの出力がどのように見えるか疑問に思うならば、私は何も

を見つけることができません。

uniqueid name   date     author 
10  Benchmark.pl [pią, 24 mar 2017] calibre 

(私が最初にユニークなIDが必要です)

答えて

0

私はあなたが数字で始まる行を見つけ、「ベンチマーク」を含むようにしたい場合は、awkとオフの方が良いだろう疑う:

calibredb ... | awk '/^[0-9]+/ && /Benchmark/ {print $1}' 

かあなたが好きなら、grep

calibredb ... | grep "Benchmark" | grep -Eo "^[0-9]+"