我正在编写一个 bash 脚本,我需要检查文件名的末尾是否有数字(在一个句点之后),如果有,请获取它,但我不知道如何在变量或字符串上使用正则表达式。
我能够echo
在终端中使用管道将字符串导入 grep,如下所示:
echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Run Code Online (Sandbox Code Playgroud)
但是我需要将它的输出分配给一个变量。我尝试这样做:
revNumber= echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我也尝试了很多其他的东西,但没有任何效果。
在我的 bash 脚本中,我想对变量而不是字符串使用 grep,但这里的概念是相同的。
如何在字符串或变量上使用 grep,然后将结果保存到另一个变量中?
要将命令的输出分配给变量,请使用$()
:
revNumber=$(echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+")
Run Code Online (Sandbox Code Playgroud)
如果您只关心匹配,您可能需要考虑case
:
case foo in
f*) echo starts with f
;;
*) echo does not start with f
;;
esac
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10796 次 |
最近记录: |