如何删除BASH字符串中包含大写字母的单词? 例如。
输入:
Taco burrito Mexico fiesta
输出:
burrito fiesta
我在Stack Overflow上看到的解决方案不适用于我,因为正在使用的Linux机器不接受-r
开关。
答案 0 :(得分:1)
您可以使用此sed
:
s='Taco burrito Mexico fiesta'
sed 's/[[:upper:]][^[:blank:]]*[[:blank:]]*//g' <<< "$s"
burrito fiesta
详细信息:
[[:upper:]]
:匹配大写字母[^[:blank:]]
:匹配除空格或制表符之外的任何字符[[:blank:]]
:匹配空格或制表符答案 1 :(得分:1)
为了娱乐,perl
perl -aE 'say "@{[ grep {not /^[[:upper:]]/} @F ]}"' file
答案 2 :(得分:0)
@app.route("/comi", methods=['POST'])
def main():
mi = cv2.imdecode(np.fromstring(request.files['file'].read(), np.uint8), cv2.IMREAD_COLOR )
co = cv2.imread(random.choice(co_list))
cominame = morph(co, mi, ld, app.static_folder)
return send_file(cominame, mimetype='image/png')
答案 3 :(得分:0)
纯bash
:
set -- Taco burrito Mexico fiesta ; LC_ALL=C; echo ${@/*[A-Z]*}
或者:
a=(Taco burrito Mexico fiesta) ; LC_ALL=C; echo ${a[@]/*[A-Z]*}
(任一)的输出:
burrito fiesta