我想使用 bash shell 拆分字符串,如:
Calcipotriol - Daivonex Cream 50mcg/1g 30 g [1]
Aspirin - DBL Aspirin 100mg [1] tablet
我想获得品牌名称“Davionex Cream”和“DBL Aspirin” 我想获取parttern前面的名字 ***mg or ***mcg or ***g
怎么做?
最佳答案
如果您的示例输入具有代表性,awk
可能会提供最简单的解决方案:
awk -F'- | [0-9]+(mc?)?g' '{ print $2 }' <<'EOF'
Calcipotriol - Daivonex Cream 50mcg/1g 30 g [1]
Aspirin - DBL Aspirin 100mg [1] tablet
Foo - Foo Bar 22g [1] other
EOF
产量:
Daivonex Cream
DBL Aspirin
Foo Bar
关于regex - 我想在另一个字符串模式前面找到一些字符串,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058416/