Sed into Variable无法正常工作

时间:2015-06-13 09:38:04

标签: bash variables sed

我试图删除除字母以外的所有内容并删除我的bash脚本中少于3个字符的任何字母...我得到它删除有3个字符的单词,但不应用其他规则。这是我正在使用的:

name="The Man From U.N.C.L.E. Official 2 2015 Henry Cavill Armie Hammer Spy Movie AS HD"
keyword="$(sed -e 's/ [a-zA-Z]\{3\} / /g' <<< "$name")"

所需的输出

echo $keyword

显示

The Man From Official Henry Cavill Armie Hammer Spy Movie

非常感谢我能得到的任何帮助!

1 个答案:

答案 0 :(得分:2)

尝试使用GNU sed:

name="The Man From U.N.C.L.E. Official 2 2015 Henry Cavill Armie Hammer Spy Movie AS HD"
keyword="$(sed -E 's/\b(.{1,2}|[0-9]+)\b/ /g;s/ +/ /g' <<< $name)"
echo "${keyword% }"

输出:

The Man From Official Henry Cavill Armie Hammer Spy Movie