如何从文件名中提取字符串?

pie*_*età 1 shell-script filenames

我正在尝试读取文件名的一部分以使其在if .. else语句中

例如: 文件名: foo_bar_test1_example.stat

我想做一个测试;如果example文件名中存在: 字样,则有一些脚本要执行。

提前致谢 :)

Sté*_*las 5

case 是 Bourne 家族(Bourne、Almquist、ksh、bash、zsh、yash...)的 shell 中的构造:

case $file in
  *example*) do-something-for-example "$file";;
  *) do-something-else-if-not "$file";;
esac
Run Code Online (Sandbox Code Playgroud)

csh家族 (csh, tcsh) 的shell 中:

switch ($file:q)
  case *example*:
    do-something-with $file:q
    breaksw

  default:
    do-something-else-with $file:q
    breaksw
endsw
Run Code Online (Sandbox Code Playgroud)

fish外壳中:

switch $file
  case '*example*'
    do-something-with $file
  case '*'
    do-something-else-with $file
end
Run Code Online (Sandbox Code Playgroud)

rcaganga

switch ($file) {
  case *example*
    do-something-with $file

  case *
    do-something-else-with $file
}
Run Code Online (Sandbox Code Playgroud)

es

if {~ $file *example*} {
  do-something-with $file
} {
  do-something-else-with $file
}
Run Code Online (Sandbox Code Playgroud)