从 grep 的输出中获取行开头的所有数字

Get all the numbers on the start of the line in output from grep

你好,我正在为 calibre (calibre-ebooks.com) 的命令行编写新闻下载程序,该脚本使用此命令从 calibre DB 获取电子书的 ID

 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)

如果您想查找以数字开头并包含 "Benchmark":

的行,我想您最好使用 awk
calibredb ... | awk '/^[0-9]+/ && /Benchmark/ {print }'

或者,如果你喜欢grep

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