我试图从scanimage -L获取设备地址,返回
scanimage -L
device `canon_dr:libusb:003:004' is a CANON DR-C125 scanner
字符串我想出了这个
grep -Po '`\K[^']+'
型但不了解如何正确隔离特殊符号
u4vypkhs1#
您可以使用
grep -Po "\`\\K[^']+"
字符串请注意,在双引号字符串中,反引号和反斜杠需要转义。你也可以在这里使用awk:
awk
awk -F"[\`']" '{print $2}'
型参见online demo:
#!/bin/bashs='device `canon_dr:libusb:003:004'"'"' is a CANON DR-C125 scanner'grep -Po "\`\\K[^']+" <<< "$s"# => canon_dr:libusb:003:004awk -F"[\`']" '{print $2}' <<< "$s"# => canon_dr:libusb:003:004
#!/bin/bash
s='device `canon_dr:libusb:003:004'"'"' is a CANON DR-C125 scanner'
grep -Po "\`\\K[^']+" <<< "$s"
# => canon_dr:libusb:003:004
awk -F"[\`']" '{print $2}' <<< "$s"
型
1条答案
按热度按时间u4vypkhs1#
您可以使用
字符串
请注意,在双引号字符串中,反引号和反斜杠需要转义。
你也可以在这里使用
awk
:型
参见online demo:
型