ファイル名から文字列を抽出するには?

ファイル名から文字列を抽出するには?

if .. elseステートメントに挿入するためにファイル名の一部を読み取ろうとします。

たとえば、 ファイル名: foo_bar_test1_example.stat

テストしたいです。ファイル名に単語が含まれている場合は、example実行するスクリプトがあります。

よろしくお願いします:)

ベストアンサー1

caseBourneシリーズシェル(Bourne、Almquist、ksh、bash、zsh、yash...)の構成です。

case $file in
  *example*) do-something-for-example "$file";;
  *) do-something-else-if-not "$file";;
esac

シリーズシェルcsh(csh、tcsh):

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

  default:
    do-something-else-with $file:q
    breaksw
endsw

fishシェルから:

switch $file
  case '*example*'
    do-something-with $file
  case '*'
    do-something-else-with $file
end

またはrcaganga

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

  case *
    do-something-else-with $file
}

そしてes

if {~ $file *example*} {
  do-something-with $file
} {
  do-something-else-with $file
}

おすすめ記事